Usando tipos de recursos - API de Controle da Nuvem

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 AWS de recursos 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 AWS CloudFormation de extensões.

O registro de extensões é um recurso 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 AWS CloudFormation registro para ver o esquema de um tipo de recurso, que contém informações importantes sobre como usar o recurso com a Cloud Control API, como definições de propriedades e requisitos de permissão. Para ter mais informações, consulte Visualizando esquemas de tipos de recursos.

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

nota

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

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

Gerenciando tipos de recursos usando o API do AWS CloudFormation

Além de acessar o registro da extensão por meio do AWS CloudFormation console, você pode usar as operações incluídas na AWS CloudFormation API 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.

CloudFormation Operação de API AWS CLI comando 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

set-type-configuration

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 a API de Controle da Nuvem

Por padrão, os tipos de recursos publicados no CloudFormation registro são compatíveis automaticamente com as operações de recursos da Cloud Control API. Isso inclui tipos de recursos privados, além de tipos de recursos públicos de terceiros. No entanto, o AWS CloudFormation registro 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 a API de Controle da Nuvem e você não pode usá-los em operações de recursos.

Para ver uma lista dos tipos de recursos AWS públicos que atualmente oferecem suporte às operações de recursos da Cloud Control API, consulteTipos de recursos compatíveis com a API de Controle da Nuvem.

Você também pode usar o AWS Command Line Interface (AWS CLI) para gerar uma lista dos tipos de recursos compatíveis ou determinar se um tipo específico de recurso é compatível com a 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 no CloudFormation registro.

    $ 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 a API Cloud Control 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 da API de Controle da Nuvem 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 CloudFormation console ou o. AWS CLI Além disso, o AWS CloudFormation Guia do usuário contém tópicos de referência para cada tipo de recurso disponível que a 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 da AWS.

nota

Nem todos os tipos de recursos listados no Guia do usuário do AWS CloudFormation estão disponíveis para uso com a API de Controle da Nuvem. Para determinar se um tipo de recurso está disponível, consulteTipos de recursos compatíveis com a API de Controle da Nuvem.

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 CloudFormation CLI para desenvolvimento de extensões.

Para obter informações sobre como visualizar o estado atual de um recurso existente, que inclui seus valores de propriedade atuais, consulteLendo o estado atual de um recurso.

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

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

  2. No painel CloudFormationde navegação, em Registro, selecione Extensões ativadas.

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

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

Visualizando um esquema de tipo de recurso usando o AWS CLI

  • Executar 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 recurso do AWS::Logs::LogGroup.

    $ 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 do 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" ] } }