Quando um desenvolvedor de modelos exclui uma pilha com recursos personalizados, o Resource Orchestration Service (ROS) envia uma solicitação de recurso personalizado com RequestType definido como Delete. Para excluir a pilha com êxito, o provedor do recurso personalizado deve responder adequadamente à solicitação de exclusão.
Solicitação
A solicitação de exclusão contém os seguintes campos:
-
RequestType
Definido como
Delete. -
ResponseURL
URL da Internet pré-assinada que o provedor do recurso personalizado usa para enviar respostas ao ROS.
-
IntranetResponseURL
URL de rede interna pré-assinada, utilizável em uma instância do Elastic Compute Service (ECS). O provedor do recurso personalizado usa essa URL para enviar respostas ao ROS.
-
StackId
ID da pilha que contém o recurso personalizado.
-
StackName
Nome da pilha que contém o recurso personalizado.
-
ResourceOwnerId
ID da conta Alibaba Cloud proprietária da pilha.
-
CallerId
ID da conta que executa esta operação na pilha. Pode ser uma conta Alibaba Cloud ou um usuário do Resource Access Management (RAM).
-
RegionId
Região onde a pilha está localizada.
-
RequestId
ID exclusivo da solicitação.
-
ResourceType
Tipo do recurso personalizado, conforme especificado pelo desenvolvedor no modelo do ROS. O nome do tipo de recurso pode ter até 68 caracteres e conter letras, dígitos, sublinhados (_), arrobas (@) e hifens (-).
-
LogicalResourceId
Nome (ID lógico) do recurso personalizado, conforme especificado pelo desenvolvedor no modelo do ROS.
-
PhysicalResourceId
ID físico exclusivo definido pelo provedor do recurso personalizado.
-
ResourceProperties
Conteúdo do objeto
Parametersdentro da seçãoPropertiesespecificada pelo desenvolvedor do modelo. O provedor do recurso personalizado define esse conteúdo.
Exemplo:
{
"RequestType" : "Delete",
"RequestId" : "unique id for this delete request",
"ResponseURL" : "pre-signed-url-for-delete-response",
"IntranetResponseURL" : "pre-signed-intranet-url-for-create-response",
"ResourceType" : "Custom::MyCustomResourceType",
"LogicalResourceId" : "name of resource in template",
"PhysicalResourceId" : "custom resource provider-defined physical id",
"StackId" : "stack id",
"StackName" : "stack name",
"ResourceOwnerId": "resource owner id",
"CallerId": "caller id",
"RegionId": "region id",
"ResourceProperties" : {
"key1" : "string",
"key2" : [ "list" ],
"key3" : { "key4" : "map" }
}
}
Resposta
Sucesso
Para indicar que a operação de exclusão foi bem-sucedida, o service do provedor deve enviar uma resposta ao ROS contendo os seguintes campos:
-
Status
Deve ser
SUCCESS. -
RequestId
ID exclusivo da solicitação. Copiado da solicitação original.
-
LogicalResourceId
Nome (ID lógico) do recurso personalizado, conforme especificado pelo desenvolvedor no modelo do ROS. Copiado da solicitação original.
-
StackId
ID da pilha que contém o recurso personalizado. Copiado da solicitação original.
-
PhysicalResourceId
Identificador exclusivo do recurso personalizado. O valor pode ter até 255 bytes. Deve ser uma string não vazia e permanecer igual para o mesmo recurso em todas as respostas.
Exemplo
{
"Status" : "SUCCESS",
"RequestId" : "unique id for this delete request (copied from request)",
"LogicalResourceId" : "name of resource in template (copied from request)",
"StackId" : "stack id (copied from request)",
"PhysicalResourceId" : "custom resource provider-defined physical id"
}
Falha
Se a solicitação de exclusão falhar, o service do provedor deve enviar uma resposta ao ROS contendo os seguintes campos:
-
Status
Deve ser
FAILED. -
Reason
Motivo da falha na resposta.
-
RequestId
ID exclusivo da solicitação. Copiado da solicitação original.
-
LogicalResourceId
Nome (ID lógico) do recurso personalizado, conforme especificado pelo desenvolvedor no modelo do ROS. Copiado da solicitação original.
-
StackId
ID da pilha que contém o recurso personalizado. Copiado da solicitação original.
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" : "stack id (copied from request)"
}