Excluir - AWS CloudFormation

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

Um ID exclusivo para a solicitação.

ResponseURL

O URL de resposta identifica um bucket do S3 pré-assinado que recebe respostas do provedor de recursos personalizados 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 do modelo escolhido pelo desenvolvedor (ID lógico) do recurso personalizado no modelo AWS CloudFormation.

StackId

O nome do recurso da Amazon (ARN) que identifica a pilha que contém o recurso personalizado.

PhysicalResourceId

Uma ID física definida por custom resource provider exclusiva para esse provedor.

O valor retornado para um PhysicalResourceId pode alterar as operações de atualização de recursos personalizados. Se o valor retornado for o mesmo, a atualização é considerada normal. Se o valor retornado for diferente, o AWS CloudFormation reconhece a atualização como uma substituição e envia uma solicitação de exclusão ao recurso antigo. Para obter mais informações, consulte AWS::CloudFormation::CustomResource.

ResourceProperties

Esse campo apresenta o conteúdo do objeto Properties enviado pelo desenvolvedor de modelos. Seu conteúdo é definido pelo provedor de recursos personalizados.

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

Um ID exclusivo para a solicitação. Esse valor de resposta deve ser copiado literalmente com base na solicitação.

LogicalResourceId

O nome do modelo escolhido pelo desenvolvedor (ID lógico) do recurso personalizado no modelo AWS CloudFormation. Esse valor de resposta deve ser copiado literalmente com base na solicitação.

StackId

O nome do recurso da Amazon (ARN) que identifica a pilha que contém o recurso personalizado. Esse valor de resposta deve ser copiado literalmente com base na solicitação.

PhysicalResourceId

Esse valor deve ser um identificador exclusivo do fornecedor de recursos personalizados e pode ter até 1 KB de tamanho. O valor deve ser uma string não vazia e deve ser idêntico para todas as respostas do mesmo recurso.

O valor retornado para um PhysicalResourceId pode alterar as operações de atualização de recursos personalizados. Se o valor retornado for o mesmo, a atualização é considerada normal. Se o valor retornado for diferente, o AWS CloudFormation reconhece a atualização como uma substituição e envia uma solicitação de exclusão ao recurso antigo. Para obter mais informações, consulte AWS::CloudFormation::CustomResource.

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

Um ID físico definido por provedor de recursos personalizado exclusivo 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" }