

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

# CloudFormation Exemplos de ingestão: definição de recursos
<a name="cfn-ingest-ex-define-resource"></a>

Ao usar o AMS CloudFormation ingest, você personaliza um CloudFormation modelo e o envia ao AMS em um RFC com o tipo de alteração de CloudFormation ingestão (ct-36cn2avfrrj9v). Para criar um CloudFormation modelo que possa ser reutilizado várias vezes, você adiciona os parâmetros de configuração da pilha à entrada de execução do tipo de alteração de CloudFormation ingestão em vez de codificá-los no modelo. CloudFormation O maior benefício é que você pode reutilizar o modelo.

O esquema de entrada do tipo de alteração de CloudFormation ingestão do AMS permite que você escolha até sessenta parâmetros em um CloudFormation modelo e forneça valores personalizados.

Este exemplo mostra como definir uma propriedade de recurso, que pode ser usada em vários CloudFormation modelos, como um parâmetro na CT de CloudFormation ingestão do AMS. Os exemplos nesta seção mostram especificamente o uso de tópicos do SNS.

**Topics**
+ [Exemplo 1: codifique a `TopicName` propriedade do CloudFormation SNSTopic recurso](#cfn-ingest-example-1)
+ [Exemplo 2: Use um SNSTopic recurso para referenciar um parâmetro no tipo de alteração do AMS](#cfn-ingest-example-2)
+ [Exemplo 3: Crie um tópico do SNS enviando um arquivo de parâmetros de execução JSON com o tipo de alteração de ingestão do AMS](#cfn-ingest-example-3)
+ [Exemplo 4: Enviar um novo tipo de alteração que faça referência ao mesmo CloudFormation modelo](#cfn-ingest-example-4)
+ [Exemplo 5: Use os valores de parâmetros padrão no CloudFormation modelo](#cfn-ingest-example-5)

## Exemplo 1: codifique a `TopicName` propriedade do CloudFormation SNSTopic recurso
<a name="cfn-ingest-example-1"></a>

Neste exemplo, você codifica a `TopicName` propriedade do CloudFormation SNSTopic recurso no CloudFormation modelo. Observe que a `Parameters` seção está vazia. 

Para ter um CloudFormation modelo que permita alterar o valor do SNSTopic nome de uma nova pilha sem precisar criar um novo CloudFormation modelo, você pode usar a `Parameters` seção AMS do tipo de alteração de CloudFormation ingestão para fazer essa configuração. Ao fazer isso, você usa o mesmo CloudFormation modelo posteriormente para criar uma nova pilha com um `SNSTopic` nome diferente.

```
{
  "AWSTemplateFormatVersion" : "2010-09-09",
  "Description" : "My SNS Topic",
  "Parameters" : {
  },
  "Resources" : {
    "SNSTopic" : {
      "Type" : "AWS::SNS::Topic",
      "Properties" : {
        "TopicName" : "MyTopicName"
      }
    }
  }
}
```



## Exemplo 2: Use um SNSTopic recurso para referenciar um parâmetro no tipo de alteração do AMS
<a name="cfn-ingest-example-2"></a>

Neste exemplo, você usa uma `TopicName` propriedade de `SNSTopic` recurso definida no CloudFormation modelo para fazer referência a `Parameter` no tipo de alteração do AMS.

```
{
  "AWSTemplateFormatVersion" : "2010-09-09",
  "Description" : "My SNS Topic",
  "Parameters" : {
    "TopicName" : {
      "Type" : "String",
      "Description" : "Topic ID",
      "Default" : "MyTopicName"
    }
  },
  "Resources" : {
    "SNSTopic" : {
      "Type" : "AWS::SNS::Topic",
      "Properties" : {
        "TopicName" : { "Ref" : "TopicName"}
      }
    }
  }
}
```

## Exemplo 3: Crie um tópico do SNS enviando um arquivo de parâmetros de execução JSON com o tipo de alteração de ingestão do AMS
<a name="cfn-ingest-example-3"></a>

Neste exemplo, você envia um arquivo de parâmetros de execução JSON com a CT de ingestão do AMS que cria o tópico SNS. `TopicName` O tópico SNS deve ser definido no CloudFormation modelo da forma modificável mostrada neste exemplo. 

```
{
  "Name": "cfn-ingest",
  "Description": "CFNIngest Web Application Stack",
  "CloudFormationTemplateS3Endpoint": "$S3_PRESIGNED_URL",
  "VpcId": "VPC_ID",
  "Tags": [
    {"Key": "Enviroment Type", "Value": "Dev"}
  ],
  "Parameters": [
    {"Name": "TopicName", "Value": "MyTopic1"}
  ],
  "TimeoutInMinutes": 60
}
```

## Exemplo 4: Enviar um novo tipo de alteração que faça referência ao mesmo CloudFormation modelo
<a name="cfn-ingest-example-4"></a>

Esse exemplo de JSON altera o `TopicName` valor do SNS sem fazer nenhuma alteração no CloudFormation modelo. Em vez disso, você envia um novo tipo de alteração Deployment \$1 Inestion \$1 Stack from CloudFormation Template \$1 Create que faça referência ao mesmo modelo CFN.

```
{
  "Name": "cfn-ingest",
  "Description": "CFNIngest Web Application Stack",
  "CloudFormationTemplateS3Endpoint": "$S3_PRESIGNED_URL",
  "VpcId": "VPC_ID",
  "Tags": [
    {"Key": "Enviroment Type", "Value": "Dev"}
  ],
  "Parameters": [
    {"Name": "TopicName", "Value": "MyTopic2"}
  ],
  "TimeoutInMinutes": 60
}
```

## Exemplo 5: Use os valores de parâmetros padrão no CloudFormation modelo
<a name="cfn-ingest-example-5"></a>

Neste exemplo, o SNS `TopicName` = 'MyTopicName' é criado porque nenhum `TopicName` valor foi fornecido no parâmetro de `Parameters` execução. Se você não fornecer `Parameters` definições, os valores de parâmetros padrão no CloudFormation modelo serão usados.

```
{
  "Name": "cfn-ingest",
  "Description": "CFNIngest Web Application Stack",
  "CloudFormationTemplateS3Endpoint": "$S3_PRESIGNED_URL",
  "VpcId": "VPC_ID",
  "Tags": [
    {"Key": "Enviroment Type", "Value": "Dev"}
  ],
  "TimeoutInMinutes": 60
}
```