Quando o desenvolvedor do modelo exclui uma pilha que contém um recurso personalizado, o Resource Orchestration Service (ROS) envia uma solicitação ao provedor do recurso personalizado. O campo RequestType da solicitação assume o valor Delete. Para excluir a pilha com sucesso, o provedor do recurso personalizado deve retornar uma resposta bem-sucedida à solicitação de exclusão.
Solicitação
Uma solicitação de exclusão contém os seguintes campos:
-
RequestType
Este campo assume o valor Delete.
-
ResponseURL
A URL pública pré-assinada. Essa URL recebe as respostas do provedor do recurso personalizado destinadas ao ROS.
-
IntranetResponseURL
A URL interna pré-assinada. Você pode usar essa URL no Elastic Compute Service (ECS). Ela recebe as respostas do provedor do recurso personalizado destinadas ao ROS.
-
StackId
O ID da pilha que contém o recurso personalizado.
-
StackName
O nome da pilha que contém o recurso personalizado.
-
ResourceOwnerId
O ID da conta Alibaba Cloud proprietária da pilha com o recurso personalizado.
-
CallerId
O ID da conta Alibaba Cloud ou do usuário do Resource Access Management (RAM) usado para executar esta operação.
-
RegionId
O ID da região da pilha que contém o recurso personalizado.
-
RequestId
O ID exclusivo da solicitação.
-
ResourceType
O tipo de recurso selecionado pelo desenvolvedor do modelo para o recurso personalizado no modelo. O nome do tipo de recurso personalizado pode ter até 68 caracteres e incluir letras, dígitos, sublinhados (_), arrobas (@) e hifens (-).
-
LogicalResourceId
O nome (ID lógico) escolhido pelo desenvolvedor do modelo para o recurso personalizado no modelo.
-
PhysicalResourceId
O ID físico obrigatório definido pelo provedor do recurso personalizado. Esse ID é exclusivo para o provedor.
-
ResourceProperties
Este campo contém os parâmetros da seção Properties da solicitação enviada pelo desenvolvedor do modelo. O provedor do recurso personalizado define o 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" }
}
}
Respostas
Sucesso
Após o envio da solicitação de exclusão, o provedor do recurso personalizado deve enviar uma resposta ao ROS contendo os seguintes campos:
-
Status
Retorne apenas SUCCESS neste campo.
-
RequestId
O ID exclusivo da solicitação. Copie o valor da resposta da solicitação original.
-
LogicalResourceId
O nome (ID lógico) especificado pelo desenvolvedor do modelo para o recurso personalizado no modelo. Copie este valor de resposta da solicitação.
-
StackId
O ID da pilha que contém o recurso personalizado. Copie este valor de resposta da solicitação.
-
PhysicalResourceId
Este valor deve ser exclusivo para o provedor do recurso personalizado. Pode ter até 255 bytes, não pode ser uma string vazia e deve permanecer idêntico 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
Caso a solicitação de exclusão falhe, o provedor do recurso personalizado deve enviar uma resposta ao ROS com os seguintes campos:
-
Status
Retorne apenas FAILED neste campo.
-
Reason
O motivo da falha na resposta.
-
RequestId
O ID exclusivo da solicitação. Copie o valor da resposta da solicitação original.
-
LogicalResourceId
O nome (ID lógico) especificado pelo desenvolvedor do modelo para o recurso personalizado no modelo. Copie este valor de resposta da solicitação.
-
StackId
O ID da pilha que contém o recurso personalizado. Copie este valor de resposta da solicitação.
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)"
}