Exemplos de Resource Groups usando AWS CLI - AWS SDKExemplos de código

Há mais AWS SDK exemplos disponíveis no GitHub repositório AWS Doc SDK Examples.

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á.

Exemplos de Resource Groups usando AWS CLI

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface with Resource Groups.

Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar funções de serviço individuais, é possível ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, onde você pode encontrar instruções sobre como configurar e executar o código no contexto.

Tópicos

Ações

O código de exemplo a seguir mostra como usar create-group.

AWS CLI

Exemplo 1: Para criar um grupo de recursos baseado em tags

O create-group exemplo a seguir cria um grupo de recursos baseado em tags de EC2 instâncias da Amazon na região atual. É baseado em uma consulta de recursos marcados com a chave Name e o valorWebServers. O nome do grupo étbq-WebServer. A consulta está em um JSON arquivo separado que é passado para o comando.

aws resource-groups create-group \ --name tbq-WebServer \ --resource-query file://query.json

Conteúdo de query.json:

{ "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" }

Saída:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" }, "ResourceQuery": { "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" } }

Exemplo 2: Para criar um grupo de recursos CloudFormation baseado em pilhas

O create-group exemplo a seguir cria um grupo de recursos AWS CloudFormation baseado em pilhas chamado. sampleCFNstackgroup A consulta inclui todos os recursos na CloudFormation pilha especificada que são compatíveis com AWS Resource Groups.

aws resource-groups create-group \ --name cbq-CFNstackgroup \ --resource-query file://query.json

Conteúdo de query.json:

{ "Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-west-2:123456789012:stack/MyCFNStack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}" }

Saída:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/cbq-CFNstackgroup", "Name": "cbq-CFNstackgroup" }, "ResourceQuery": { "Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-east-2:123456789012:stack/MyCFNStack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}"}' } }

Para obter mais informações, consulte Create Groups no AWS Resource Groups User Guide.

  • Para API obter detalhes, consulte CreateGroupna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar delete-group.

AWS CLI

Para atualizar a descrição de um grupo de recursos

O delete-group exemplo a seguir atualiza o grupo de recursos especificado.

aws resource-groups delete-group \ --group-name tbq-WebServer

Saída:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:1234567890:group/tbq-WebServer", "Name": "tbq-WebServer" } }

Para obter mais informações, consulte Delete Groups no AWS Resource Groups User Guide.

  • Para API obter detalhes, consulte DeleteGroupna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-group-query.

AWS CLI

Para anexar a consulta a um grupo de recursos

O get-group-query exemplo a seguir exibe uma consulta anexada ao grupo de recursos especificado.

aws resource-groups get-group-query \ --group-name tbq-WebServer

Saída:

{ "GroupQuery": { "GroupName": "tbq-WebServer", "ResourceQuery": { "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" } } }
  • Para API obter detalhes, consulte GetGroupQueryna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-group.

AWS CLI

Para obter informações sobre um grupo de recursos

O get-group exemplo a seguir exibe detalhes sobre o grupo de recursos especificado. Para anexar a consulta ao grupo, useget-group-query.

aws resource-groups get-group \ --group-name tbq-WebServer

Saída:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer", "Description": "A tag-based query resource group of WebServers." } }
  • Para API obter detalhes, consulte GetGroupna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-tags.

AWS CLI

Para recuperar as tags anexadas a um grupo de recursos

O get-tags exemplo a seguir exibe os pares de tag, chave e valor anexados ao grupo de recursos especificado (o grupo em si, não seus membros).

aws resource-groups get-tags \ --arn arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer

Saída:

{ "Arn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Tags": { "QueryType": "tags", "QueryResources": "ec2-instances" } }
  • Para API obter detalhes, consulte GetTagsna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-group-resources.

AWS CLI

Para listar todos os recursos em um grupo de recursos

Exemplo 1: O list-resource-groups exemplo a seguir lista todos os recursos que fazem parte do grupo de recursos especificado.

aws resource-groups list-group-resources \ --group-name tbq-WebServer

Saída:

{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-09f77fa38c12345ab", "ResourceType": "AWS::EC2::Instance" } ] }

Exemplo 2: O exemplo a seguir lista todos os recursos do grupo que também têm um 'tipo de recurso'AWS:: :Instance' EC2 . :

aws resource-groups list-group-resources --group-name tbq- WebServer --filters name=Tipo de recurso, valores=::: :Instância AWS EC2

O código de exemplo a seguir mostra como usar list-groups.

AWS CLI

Para listar os grupos de recursos disponíveis

O list-groups exemplo a seguir exibe uma lista de todos os grupos de recursos.

aws resource-groups list-groups

Saída:

{ "GroupIdentifiers": [ { "GroupName": "tbq-WebServer", "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer3" }, { "GroupName": "cbq-CFNStackQuery", "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/cbq-CFNStackQuery" } ], "Groups": [ { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" }, { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/cbq-CFNStackQuery", "Name": "cbq-CFNStackQuery" } ] }
  • Para API obter detalhes, consulte ListGroupsna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-resource-groups.

AWS CLI

Para listar todos os recursos em um grupo de recursos

O list-resource-groups exemplo a seguir lista todos os recursos que fazem parte do grupo de recursos especificado.

aws resource-groups list-group-resources \ --group-name tbq-WebServer

Saída:

{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-09f77fa38c12345ab", "ResourceType": "AWS::EC2::Instance" } ] }

O código de exemplo a seguir mostra como usar put-group-configuration.

AWS CLI

Para anexar uma configuração de serviço a um grupo de recursos

Exemplo 1: O put-group-configuration exemplo a seguir especifica que o grupo de recursos deve conter somente reservas de EC2 capacidade da Amazon para instâncias nas M5 famílias C5 ou.

aws resource-groups put-group-configuration \ --group MyTestGroup \ --configuration file://config.json

Conteúdo de config.json:

[ { "Type": "AWS::EC2::HostManagement", "Parameters": [ { "Name": "allowed-host-families", "Values": [ "c5", "m5" ] }, { "Name": "any-host-based-license-configuration", "Values": [ "true" ] } ] }, { "Type": "AWS::ResourceGroups::Generic", "Parameters": [ { "Name": "allowed-resource-types", "Values": [ "AWS::EC2::Host" ] }, { "Name": "deletion-protection", "Values": [ "UNLESS_EMPTY" ] } ] } ]

Se for bem-sucedido, esse comando não gerará nenhum resultado.

Para obter mais informações, consulte Configurações de serviço para grupos de recursos no Resource Groups API Reference Guide.

O código de exemplo a seguir mostra como usar search-resources.

AWS CLI

Para encontrar recursos que correspondam a uma consulta

O search-resources exemplo a seguir recupera uma lista de todos os AWS recursos que correspondem à consulta especificada.

aws resource-groups search-resources \ --resource-query file://query.json

Conteúdo de query.json:

{ "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Patch Group\", \"Values\":[\"Dev\"]}]}" }

Saída:

{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-01a23bc45d67890ef", "ResourceType": "AWS::EC2::Instance" } ] }
  • Para API obter detalhes, consulte SearchResourcesna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar tag.

AWS CLI

Para anexar uma tag a um grupo de recursos

O tag exemplo a seguir anexa os pares de chave e valor da tag especificados ao grupo de recursos especificado (o grupo em si, não seus membros).

aws resource-groups tag \ --tags QueryType=tags,QueryResources=ec2-instances \ --arn arn:aws:resource-groups:us-west-2:128716708097:group/tbq-WebServer

Saída:

{ "Arn": "arn:aws:resource-groups:us-west-2:128716708097:group/tbq-WebServer", "Tags": { "QueryType": "tags", "QueryResources": "ec2-instances" } }

Para obter mais informações, consulte Manage tags no AWS Resource Groups User Guide.

  • Para API obter detalhes, consulte Tag in AWS CLI Command Reference.

O código de exemplo a seguir mostra como usar untag.

AWS CLI

Para remover tags de um grupo de recursos

O untags exemplo a seguir remove qualquer tag com a chave especificada do próprio grupo de recursos, não de seus membros.

aws resource-groups untag \ --arn arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer \ --keys QueryType

Saída:

{ "Arn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Keys": [ "QueryType" ] }

Para obter mais informações, consulte Manage tags no AWS Resource Groups User Guide.

  • Para API obter detalhes, consulte Desmarcar na Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar update-group-query.

AWS CLI

Exemplo 1: Para atualizar a consulta de um grupo de recursos baseado em tags

O update-group-query exemplo a seguir atualiza a consulta anexada ao grupo de recursos baseado em tags especificado.

aws resource-groups update-group-query \ --group-name tbq-WebServer \ --resource-query '{"Type":"TAG_FILTERS_1_0", "Query":"{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}"}'

Saída:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-east-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" }, "ResourceQuery": { "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" } }

Para obter mais informações, consulte Update Groups no AWS Resource Groups User Guide.

Exemplo 2: Para atualizar a consulta de um grupo de recursos CloudFormation baseado em pilhas

O update-group-query exemplo a seguir atualiza a consulta anexada ao grupo de recursos AWS CloudFormation baseado em pilha especificado.

aws resource-groups update-group-query \ --group-name cbq-CFNstackgroup \ --resource-query '{"Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-west-2:123456789012:stack/MyCFNStack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}"}'

Saída:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/cbq-CFNstackgroup", "Name": "cbq-CFNstackgroup" }, "ResourceQuery": { "Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-west-2:123456789012:stack/MyCFNStack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}" } }

Para obter mais informações, consulte Update Groups no AWS Resource Groups User Guide.

  • Para API obter detalhes, consulte UpdateGroupQueryna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar update-group.

AWS CLI

Para atualizar a descrição de um grupo de recursos

O update-group exemplo a seguir atualiza a descrição do grupo de recursos especificado.

aws resource-groups update-group \ --group-name tbq-WebServer \ --description "Resource group for all web server resources."

Saída:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" "Description": "Resource group for all web server resources." } }

Para obter mais informações, consulte Update Groups no AWS Resource Groups User Guide.

  • Para API obter detalhes, consulte UpdateGroupna Referência de AWS CLI Comandos.