Objetos de solicitação de recursos personalizados - AWS CloudFormation

Objetos de solicitação de recursos personalizados

Este tópico descreve as propriedades do objeto de solicitação para um recurso personalizado do CloudFormation.

Para obter uma introdução aos recursos personalizados e como eles funcionam, consulte Recursos personalizados.

Propriedades de solicitação de desenvolvedor de modelos

O desenvolvedor do modelo usa o recurso CloudFormation, AWS::CloudFormation::CustomResource, para especificar um recurso personalizado em um modelo.

Em AWS::CloudFormation::CustomResource, todas as propriedades são definidas pelo custom resource provider. Há apenas uma propriedade necessária: ServiceToken.

ServiceToken

O token de serviço (nome do recurso da Amazon de um tópico do Amazon SNS ou de uma função do AWS Lambda), que é obtido do provedor de recursos personalizados para acessar o serviço. O serviço de token deve estar na mesma região em que a pilha está sendo criada.

Obrigatório: Sim

Tipo: string

Todos os outros campos das propriedades de recursos são opcionais e são enviados, textualmente, para o custom resource provider no campo ResourceProperties da solicitação. O provedor define os nomes e o conteúdo válido desses campos.

Campos de solicitação do Custom Resource Provider

Esses campos são enviados em solicitações JSON do CloudFormation para o provedor de recursos personalizados no tópico do SNS que o provedor configurou para essa finalidade.

RequestType

O tipo de solicitação é definido pela operação de pilha do CloudFormation (que pode ser create-stack, update-stack ou delete-stack) iniciada pelo desenvolvedor do modelo para a pilha que contém o recurso personalizado.

Deve ser: Create, Updateou Delete. Para ter mais informações, consulte Tipos de solicitação de recurso personalizado.

Obrigatório: Sim

Tipo: string

ResponseURL

O URL de resposta identifica um bucket do S3 pré-assinado que recebe respostas do provedor de recursos personalizados para o AWS CloudFormation.

Obrigatório: Sim

Tipo: string

StackId

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

Combinar StackId com RequestId forma um valor que é possível utilizar para identificar exclusivamente uma solicitação em um recurso personalizado específico.

Obrigatório: Sim

Tipo: string

RequestId

Um ID exclusivo para a solicitação.

Combinar StackId com RequestId forma um valor que é possível utilizar para identificar exclusivamente uma solicitação em um recurso personalizado específico.

Obrigatório: Sim

Tipo: string

ResourceType

O tipo de recurso escolhido pelo desenvolvedor do modelo do recurso personalizado no modelo do CloudFormation. Os nomes de tipos de recursos personalizados podem incluir até 60 caracteres, incluindo alfanuméricos e os seguintes caracteres: _@-.

Obrigatório: Sim

Tipo: string

LogicalResourceId

O nome do modelo escolhido pelo desenvolvedor (ID lógico) do recurso personalizado no modelo AWS CloudFormation. Ele é fornecido para facilitar a comunicação entre o provedor de recursos personalizados e o desenvolvedor de modelos.

Obrigatório: Sim

Tipo: string

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 ter mais informações, consulte AWS::CloudFormation::CustomResource.

Obrigatório: sempre enviado com solicitações Update e Delete. Nunca com Create.

Tipo: string

ResourceProperties

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

Obrigatório: não

Tipo: objeto JSON

OldResourceProperties

Usado apenas para solicitações Update. Contém as propriedades do recurso que foram declaradas antes da solicitação de atualização.

Obrigatório: Sim

Tipo: objeto JSON