Usando tipos de recursos - Cloud Control API

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usando tipos de recursos

Para usar um tipo de recurso com AWS Cloud Control API, esse tipo de recurso deve estar presente e ativado em seu Conta da AWS. Os tipos de recurso do AWS compatíveis são públicos e estão sempre ativados. Você também pode optar por ativar os tipos de recursos públicos oferecidos por editores terceirizados. Você faz isso e outras tarefas de gerenciamento de tipos de recursos por meio do registro de extensões AWS CloudFormation.

O registro de extensões é um atributo do AWS CloudFormation que contém informações detalhadas sobre os tipos de recursos disponíveis para uso em sua conta. Isso pode incluir tipos de recursos publicados por terceiros, além daqueles publicados por AWS. Usando o registro do, você pode gerenciar os tipos de recursos em sua conta, incluindo:

  • Visualizar os tipos de recursos disponíveis e ativados.

  • Registrar tipos de recursos privados para uso em sua conta.

  • Ativar tipos de recursos públicos de terceiros.

  • Gerencie as versões do tipo de recurso, incluindo a configuração da versão padrão de um tipo de recurso na sua conta.

  • Defina as propriedades de configuração em nível de conta de um tipo de recurso, se houver.

Você também pode usar o registro AWS CloudFormation para ver o esquema de um tipo de recurso, que contém informações importantes sobre como usar o recurso com o Cloud Control API, como definições de propriedades e requisitos de permissão. Para obter mais informações, consulte Viewing resource type schemas.

O registro está disponível por meio do console do CloudFormation, além do CloudFormation API.

nota

Atualmente, nem todos os tipos de recursos listados no registro do CloudFormation são compatíveis com o Cloud Control API. Para mais informações, consulte Como determinar se um tipo de recurso é compatível com o Cloud Control API.

Para obter mais informações sobre as opções de gerenciamento de tipos de recursos, consulte Usando o registro do CloudFormation no Guia do usuário do AWS CloudFormation.

Gerenciando tipos de recursos usando o API AWS CloudFormation

Além de acessar o registro da extensão por meio do console AWS CloudFormation, você pode usar as operações incluídas no API AWS CloudFormation para identificar e gerenciar os tipos de recursos em sua conta. A tabela abaixo lista as operações de API que você pode usar para descobrir, ativar e configurar os tipos de recursos disponíveis em sua conta.

Operação do CloudFormation API AWS CLI command Descrição

DescribeType

describe-type

Retorna informações detalhadas sobre um tipo de recurso.

ListTypes

list-types

Retorna informações resumidas sobre um tipo de recurso.

ActivateType

activate-type

Ativa um tipo de recurso público de terceiros, tornando-o disponível para uso em sua conta do.

DeactivateType

deactivate-type

Desativa um tipo de recurso público de terceiros em sua conta.

ListTypeVersions

list-type-versions

Retorna informações resumidas sobre as versões de um tipo de recurso.

SetTypeDefaultVersion

set-type-default-version

Especifica a versão padrão de um tipo de recurso.

BatchDescribeTypeConfigurations

batch-describe-type-configurations

Retorna dados de configuração dos tipos de recursos especificados.

SetTypeConfiguration

configuração de tipo de conjunto

Especifica os dados de configuração de um tipo de recurso na sua conta.

RegisterType

register-type

Registra um recurso privado de terceiros, tornando-o disponível para uso em sua conta.

DeregisterType

deregister-type

Cancela o registro de um recurso privado de terceiros, removendo-o do uso ativo em sua conta.

Determinando se um tipo de recurso é compatível com o Cloud Control API

Por padrão, os tipos de recursos publicados no registro do CloudFormation oferecem suporte automático às operações de recursos do Cloud Control API. Isso inclui tipos de recursos privados, além de tipos de recursos públicos de terceiros. No entanto, o registro do AWS CloudFormation também contém tipos de recursos legados, classificados como não provisionáveis. No momento, esses tipos de recursos não são compatíveis com o Cloud Control API e você não pode usá-los em operações de recursos.

Para ver uma lista dos tipos de recurso público do AWS que atualmente oferecem suporte às operações de recursos do Cloud Control API, consulte Tipos de recursos compatíveis com o Cloud Control API.

Você também pode usar o AWS Command Line Interface (AWS CLI) para gerar uma lista dos tipos de recursos compatíveis ou para determinar se um tipo específico de recurso é compatível com o Cloud Control API.

Gerando uma lista de recursos suportados usando o AWS CLI
  • Use o comando list-types com os seguintes parâmetros:

    • type – Especifique RESOURCE para selecionar somente tipos de recursos.

    • visibility – Especificar PUBLIC para selecionar recursos públicos ou PRIVATE para privados.

    • provisioning-type – Especificar FULLY_MUTABLE ou IMMUTABLE para selecionar somente os tipos de recursos que são provisionáveis.

    Por exemplo, o comando a seguir seleciona os primeiros 100 tipos de recursos públicos que são totalmente mutáveis do registro do CloudFormation.

    aws cloudformation list-types --type RESOURCE --visibility PUBLIC --provisioning-type FULLY_MUTABLE --max-results 100
Determinar se um tipo de recurso específico é compatível com o Cloud Control API usando o AWS CLI
  • Use o comando describe-type para retornar detalhes do tipo de recurso.

    Tipos de recursos com um ProvisioningType das operações de recursos de suporte do Cloud Control API FULLY_MUTABLE ou IMMUTABLE.

    O exemplo a seguir retorna detalhes do tipo de recurso AWS::Logs::LogGroup.

    aws cloudformation describe-type --type RESOURCE --type-name AWS::Logs::LogGroup

Visualizando esquemas de tipos de recursos

Durante as operações de criação e atualização de recursos, você especifica quais propriedades do recurso devem ser definidas e seus valores. As propriedades de um recurso são definidas em seu esquema de tipo de recurso. Isso inclui o tipo de dados, valores válidos e outras restrições de propriedade.

Você pode visualizar o esquema de um tipo de recurso usando o console do CloudFormation ou o AWS CLI . Além disso, o AWS CloudFormationGuia do usuário contém tópicos de referência para cada tipo de recurso disponível que AWS publica. Para obter informações detalhadas sobre propriedades de tipos de recursos, além de exemplos de uso, consulte os tópicos correspondentes na seção de referência de tipos de recursos e propriedades AWS.

nota

Nem todos os tipos de recursos listados no Guia do usuário do AWS CloudFormation estão disponíveis para uso com o Cloud Control API. Para determinar se um tipo de recurso está disponível, consulte Tipos de recursos compatíveis com o Cloud Control API.

Para obter informações detalhadas sobre o esquema de definição de tipo de recurso, que define como o esquema de tipo de recurso pode ser criado, consulte Esquema de definição de tipo de recurso no Guia do usuário da CLI do CloudFormation para desenvolvimento de extensões.

Para obter informações sobre como visualizar o estado atual de um recurso existente, que inclui os valores atuais da propriedade, consulte Recursos de leitura.

Visualizando um esquema de tipo de recurso usando o console AWS CloudFormation

  1. Faça login no AWS Management Console e abra o console AWS CloudFormation em https://console.aws.amazon.com/cloudformation.

  2. No painel de navegação do CloudFormation, em Registry (Registro) selecione Activated extensions (Extensões ativadas).

  3. Na guia Tipos de recursos, selecione o tipo de recurso do qual você deseja visualizar o esquema de recursos.

    O CloudFormation exibe a página de detalhes de tipos de recursos. O esquema do recurso é exibido na guia Esquema.

Visualizando um esquema de tipo de recurso usando o AWS CLI

  • Execute describe-type.

    Na saída retornada, a estrutura Schema contém o esquema do tipo de recurso.

    Por exemplo, o comando a seguir retorna informações sobre o tipo de AWS::Logs::LogGroup recurso.

    aws cloudformation describe-type --type RESOURCE --type-name AWS::Logs::LogGroup

Visualizando atributos da propriedade do recurso

As propriedades do tipo de recurso são definidas na seção properties do esquema de tipo de recurso. Isso inclui o tipo de dados da propriedade, se a propriedade é obrigatória e quaisquer restrições, como valores permitidos ou padrões obrigatórios.

Além disso, certos atributos definidos no nível do recurso governam quando ou se uma propriedade pode ser especificada. Isso inclui:

  • As propriedades definidas como required devem ser especificadas no estado desejado durante a criação do recurso.

  • As propriedades definidas como createOnlyProperties podem ser definidas pelos usuários, mas somente durante a criação do recurso.

  • As propriedades definidas como readOnlyProperties não podem ser definidas pelos usuários.

  • As propriedades definidas como writeOnlyProperties podem ser especificadas pelos usuários ao criar ou atualizar um recurso, mas não podem ser retornadas durante uma solicitação de leitura ou lista.

Visualizando as operações de recursos suportadas

Você pode determinar quais operações um tipo de recurso suporta consultando a seção handlers de seu esquema de tipo de recurso. Se o tipo de recurso oferecer suporte a uma operação, ele será listado na seção handlers e conterá um elemento permissions que lista as permissões exigidas pelo manipulador.

Por exemplo, abaixo está a seção handlers do esquema do tipo de recurso para o tipo de recurso AWS::Logs::LogGroup. Esta seção mostra que esse tipo de recurso oferece suporte a todas as cinco operações de recursos e lista as permissões que cada manipulador exige.

"handlers": { "create": { "permissions": [ "logs:DescribeLogGroups", "logs:CreateLogGroup", "logs:PutRetentionPolicy" ] }, "read": { "permissions": [ "logs:DescribeLogGroups" ] }, "update": { "permissions": [ "logs:DescribeLogGroups", "logs:AssociateKmsKey", "logs:DisassociateKmsKey", "logs:PutRetentionPolicy", "logs:DeleteRetentionPolicy" ] }, "delete": { "permissions": [ "logs:DescribeLogGroups", "logs:DeleteLogGroup" ] }, "list": { "permissions": [ "logs:DescribeLogGroups" ] } }