Excluir
As solicitações do provedor de recursos personalizados com RequestType
definido como Delete
são enviadas quando o template developer exclui uma pilha que contém um recurso personalizado. Para excluir com êxito uma pilha com um recurso personalizado, o custom resource provider devem responder com êxito a uma solicitação de exclusão.
Solicitação
Exclua solicitações que contenha os seguintes campos:
- RequestType
-
Delete
. - RequestId
-
Uma ID exclusiva para a solicitação.
- ResponseURL
-
O URL de resposta identifica um bucket do S3 pré-assinado que recebe respostas do custom resource provider para o AWS CloudFormation.
- ResourceType
-
O modelo de tipo de recurso escolhido por desenvolvedor do recurso personalizado no modelo AWS CloudFormation. Os nomes de tipos de recursos personalizados podem incluir até 60 caracteres, incluindo alfanuméricos e os seguintes caracteres:
_@-
. - LogicalResourceId
-
O nome escolhido por template developer (ID lógica) do recurso personalizado no modelo do AWS CloudFormation.
- StackId
-
O Amazon Resource Name (ARN – Nome de recurso da Amazon) que identifica a pilha contendo o recurso personalizado.
- PhysicalResourceId
-
Uma ID física definida por custom resource provider exclusiva para esse provedor.
- ResourceProperties
-
Este campo tem o conteúdo do objeto
Properties
enviado pelo template developer. O conteúdo é definido pelo custom resource provider.
Exemplo
{
"RequestType" : "Delete",
"RequestId" : "unique id for this delete request",
"ResponseURL" : "pre-signed-url-for-delete-response",
"ResourceType" : "Custom::MyCustomResourceType",
"LogicalResourceId" : "name of resource in template",
"StackId" : "arn:aws:cloudformation:us-east-2
:namespace:stack/stack-name/guid",
"PhysicalResourceId" : "custom resource provider-defined physical id",
"ResourceProperties" : {
"key1" : "string",
"key2" : [ "list" ],
"key3" : { "key4" : "map" }
}
}
Respostas
Bem-sucedida
Quando a solicitação de exclusão é bem-sucedida, uma resposta deve ser enviada para o bucket S3 com os seguintes campos:
- Status
-
Deve ser
SUCCESS
. - RequestId
-
Uma ID exclusiva para a solicitação. Esse valor de resposta deve ser copiado textualmente da solicitação.
- LogicalResourceId
-
O nome escolhido por template developer (ID lógica) do recurso personalizado no modelo do AWS CloudFormation. Esse valor de resposta deve ser copiado textualmente da solicitação.
- StackId
-
O Amazon Resource Name (ARN – Nome de recurso da Amazon) que identifica a pilha contendo o recurso personalizado. Esse valor de resposta deve ser copiado textualmente da solicitação.
- PhysicalResourceId
-
Esse valor deve ser um identificador exclusivo para o fornecedor de recurso personalizado e pode ter até 1 KB. O valor precisa ser uma string não vazia e ser idêntico para todas as respostas do mesmo recurso.
Exemplo
{
"Status" : "SUCCESS",
"RequestId" : "unique id for this delete request (copied from request)",
"LogicalResourceId" : "name of resource in template (copied from request)",
"StackId" : "arn:aws:cloudformation:us-east-2
:namespace:stack/stack-name/guid (copied from request)",
"PhysicalResourceId" : "custom resource provider-defined physical id"
}
Reprovada
Quando a solicitação de exclusão falha, uma resposta deve ser enviada para o bucket S3 com os seguintes campos:
- Status
-
Deve ser
FAILED
. - Motivo
-
O motivo da falha.
- RequestId
-
O valor de
RequestId
copiado da solicitação de exclusão. - LogicalResourceId
-
O valor de
LogicalResourceId
copiado da solicitação de exclusão. - StackId
-
O valor de
StackId
copiado da solicitação de exclusão. - PhysicalResourceId
-
Uma ID física definida por custom resource provider exclusiva para esse provedor.
Exemplo
{ "Status" : "FAILED", "Reason" : "Required failure reason string", "RequestId" : "unique id for this delete request (copied from request)", "LogicalResourceId" : "name of resource in template (copied from request)", "StackId" : "arn:aws:cloudformation:
us-east-2
:namespace:stack/stack-name/guid (copied from request)", "PhysicalResourceId" : "custom resource provider-defined physical id" }