Eliminación - AWS CloudFormation

Eliminación

Las solicitudes de proveedor de recursos personalizados con RequestType establecido en Delete se envían cuando template developer elimina una pila que contiene un recurso personalizado. Para poder eliminar correctamente una pila con un recurso personalizado, el custom resource provider debe responder correctamente a una solicitud de eliminación.

Solicitud

Elimine las solicitudes que contienen los siguientes campos:

RequestType

Delete.

RequestId

Un ID único para la solicitud.

ResponseURL

La URL de respuesta identifica un bucket de S3 prefirmado que recibe respuestas del proveedor de recursos personalizados para AWS CloudFormation.

Tipo de recurso

El tipo de recurso elegido por el desarrollador de la plantilla del recurso personalizado en la plantilla AWS CloudFormation. Los nombres de tipos de recursos personalizados pueden tener una longitud máxima de 60 caracteres y pueden incluir caracteres alfanuméricos y los siguientes caracteres: _@-.

LogicalResourceId

El nombre elegido por el desarrollador de la plantilla (ID lógico) del recurso personalizado en la plantilla de AWS CloudFormation.

StackId

El nombre de recurso de Amazon (ARN) que identifica la pila que contiene el recurso personalizado.

PhysicalResourceId

Un ID físico necesario con definición custom resource provider que es exclusivo de dicho proveedor.

El valor devuelto para un PhysicalResourceId puede cambiar las operaciones de actualización de recursos personalizadas. Si el valor devuelto es el mismo, se considera una actualización normal. Si el valor es diferente, AWS CloudFormation reconoce la actualización como un reemplazo y envía una solicitud de eliminación al antiguo recurso. Para obtener más información, consulte AWS::CloudFormation::CustomResource.

ResourceProperties

Este campo contiene el contenido del objeto Properties enviado por el desarrollador de la plantilla. El proveedor de recursos personalizado define su contenido.

Ejemplo

{
   "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" }
   }
}

Respuestas

Success

Cuando la solicitud de eliminación se realiza correctamente, se debe enviar una respuesta al bucket de S3 con los siguientes campos:

Status

Debe ser SUCCESS.

RequestId

Un ID único para la solicitud. Este valor de respuesta debe copiarse literalmente de la solicitud.

LogicalResourceId

El nombre elegido por el desarrollador de la plantilla (ID lógico) del recurso personalizado en la plantilla de AWS CloudFormation. Este valor de respuesta debe copiarse literalmente de la solicitud.

StackId

El nombre de recurso de Amazon (ARN) que identifica la pila que contiene el recurso personalizado. Este valor de respuesta debe copiarse literalmente de la solicitud.

PhysicalResourceId

Este valor debe ser un identificador exclusivo del proveedor de recursos personalizados y puede tener un tamaño máximo de 1 KB. El valor debe ser una cadena que no esté vacía y debe ser idéntica para todas las respuestas del mismo recurso.

El valor devuelto para un PhysicalResourceId puede cambiar las operaciones de actualización de recursos personalizadas. Si el valor devuelto es el mismo, se considera una actualización normal. Si el valor es diferente, AWS CloudFormation reconoce la actualización como un reemplazo y envía una solicitud de eliminación al antiguo recurso. Para obtener más información, consulte AWS::CloudFormation::CustomResource.

Ejemplo

{
   "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"
}

Con error

Cuando la solicitud de eliminación se realiza incorrectamente, se debe enviar una respuesta al bucket de S3 con los siguientes campos:

Status

Debe ser FAILED.

Motivo

El motivo del error.

RequestId

El valor RequestId copiado de la solicitud de eliminación.

LogicalResourceId

El valor LogicalResourceId copiado de la solicitud de eliminación.

StackId

El valor StackId copiado de la solicitud de eliminación.

PhysicalResourceId

Un ID físico obligatorio definido por el proveedor de recursos personalizados que es exclusivo de dicho proveedor.

Ejemplo

{ "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" }