

• O AWS Systems Manager CloudWatch Dashboard não estará mais disponível a partir de 30 de abril de 2026. Os clientes podem continuar usando o console do Amazon CloudWatch para visualizar, criar e gerenciar os painéis do Amazon CloudWatch exatamente como fazem hoje. Para obter mais informações, consulte a [documentação do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

# Configurar entradas e saídas para suas ações
<a name="visual-designer-action-inputs-outputs"></a>

Cada ação de automação responde com base na entrada recebida. Na maioria dos casos, você envia a saída para as ações subsequentes. Na experiência de design visual, é possível configurar os dados de entrada e saída de uma ação nas guias **Entradas** e **Saídas** do painel **Formulário**.

Para obter informações detalhadas sobre como definir e usar a saída para ações de automação, consulte [Uso de saídas de ações como entradas](automation-action-outputs-inputs.md). 

## Forneça dados de entrada para uma ação
<a name="providing-input"></a>

Cada ação de automação tem uma ou mais entradas para as quais você deve fornecer um valor. O valor que você fornece para a entrada de uma ação é determinado pelo tipo e formato de dados aceitos pela ação. Por exemplo, as ações `aws:sleep` exigem um valor de string formatado em ISO 8601 para a entrada `Duration`.

Geralmente, você usa ações no fluxo de trabalho do seu runbook que retornam a saída que você deseja usar em ações subsequentes. É importante garantir que seus valores de entrada estejam corretos para evitar erros no fluxo de trabalho do seu runbook. Os valores de entrada também são importantes porque determinam se a ação retorna a saída esperada. Por exemplo, ao usar a ação `aws:executeAwsApi`, você quer ter certeza de que está fornecendo o valor certo para a operação da API.

## Definir dados de saída para uma ação
<a name="defining-output"></a>

Algumas ações de automação retornam a saída após realizar suas operações definidas. As ações que retornam uma saída têm saídas predefinidas ou permitem que você mesmo as defina. Por exemplo, a ação `aws:createImage` tem saídas predefinidas que retornam um `ImageId` e `ImageState`. Comparativamente, com a ação `aws:executeAwsApi`, você pode definir as saídas que deseja da operação de API especificada. Como resultado, você pode retornar um ou mais valores de uma única operação de API para usar em ações subsequentes.

Definir suas próprias saídas para uma ação de automação exige que você especifique um nome da saída, o tipo de dados e o valor da saída. Para continuar usando a ação `aws:executeAwsApi` como exemplo, digamos que você esteja chamando a operação da API `DescribeInstances` do Amazon EC2. Neste exemplo, você deseja retornar, ou gerar como saída, o `State` de uma instância do Amazon EC2 e ramificar o fluxo de trabalho do seu runbook com base na saída. Você escolhe nomear a saída **InstanceState** e usar o tipo de dados **String**. 

O processo para definir o valor real da saída é diferente dependendo da ação. Por exemplo, se você estiver usando a ação `aws:executeScript`, deverá usar instruções `return` em suas funções para fornecer dados às saídas. Com outras ações como `aws:executeAwsApi`, `aws:waitForAwsResourceProperty` e `aws:assertAwsResourceProperty`, um `Selector` é necessário. O `Selector`, ou `PropertySelector` como algumas ações se referem a ele, é uma string JSONPath usada para processar a resposta JSON de uma operação de API. É importante entender como o objeto de resposta JSON de uma operação de API é estruturado para que você possa selecionar o valor correto para sua saída. Usando a operação de API `DescribeInstances` mencionada anteriormente, veja o exemplo de resposta JSON a seguir:

```
{
  "reservationSet": {
    "item": {
      "reservationId": "r-1234567890abcdef0",
      "ownerId": 123456789012,
      "groupSet": "",
      "instancesSet": {
        "item": {
          "instanceId": "i-1234567890abcdef0",
          "imageId": "ami-bff32ccc",
          "instanceState": {
            "code": 16,
            "name": "running"
          },
          "privateDnsName": "ip-192-168-1-88.eu-west-1.compute.internal",
          "dnsName": "ec2-54-194-252-215.eu-west-1.compute.amazonaws.com",
          "reason": "",
          "keyName": "my_keypair",
          "amiLaunchIndex": 0,
          "productCodes": "",
          "instanceType": "t2.micro",
          "launchTime": "2018-05-08T16:46:19.000Z",
          "placement": {
            "availabilityZone": "eu-west-1c",
            "groupName": "",
            "tenancy": "default"
          },
          "monitoring": {
            "state": "disabled"
          },
          "subnetId": "subnet-56f5f000",
          "vpcId": "vpc-11112222",
          "privateIpAddress": "192.168.1.88",
          "ipAddress": "54.194.252.215",
          "sourceDestCheck": true,
          "groupSet": {
            "item": {
              "groupId": "sg-e4076000",
              "groupName": "SecurityGroup1"
            }
          },
          "architecture": "x86_64",
          "rootDeviceType": "ebs",
          "rootDeviceName": "/dev/xvda",
          "blockDeviceMapping": {
            "item": {
              "deviceName": "/dev/xvda",
              "ebs": {
                "volumeId": "vol-1234567890abcdef0",
                "status": "attached",
                "attachTime": "2015-12-22T10:44:09.000Z",
                "deleteOnTermination": true
              }
            }
          },
          "virtualizationType": "hvm",
          "clientToken": "xMcwG14507example",
          "tagSet": {
            "item": {
              "key": "Name",
              "value": "Server_1"
            }
          },
          "hypervisor": "xen",
          "networkInterfaceSet": {
            "item": {
              "networkInterfaceId": "eni-551ba000",
              "subnetId": "subnet-56f5f000",
              "vpcId": "vpc-11112222",
              "description": "Primary network interface",
              "ownerId": 123456789012,
              "status": "in-use",
              "macAddress": "02:dd:2c:5e:01:69",
              "privateIpAddress": "192.168.1.88",
              "privateDnsName": "ip-192-168-1-88.eu-west-1.compute.internal",
              "sourceDestCheck": true,
              "groupSet": {
                "item": {
                  "groupId": "sg-e4076000",
                  "groupName": "SecurityGroup1"
                }
              },
              "attachment": {
                "attachmentId": "eni-attach-39697adc",
                "deviceIndex": 0,
                "status": "attached",
                "attachTime": "2018-05-08T16:46:19.000Z",
                "deleteOnTermination": true
              },
              "association": {
                "publicIp": "54.194.252.215",
                "publicDnsName": "ec2-54-194-252-215.eu-west-1.compute.amazonaws.com",
                "ipOwnerId": "amazon"
              },
              "privateIpAddressesSet": {
                "item": {
                  "privateIpAddress": "192.168.1.88",
                  "privateDnsName": "ip-192-168-1-88.eu-west-1.compute.internal",
                  "primary": true,
                  "association": {
                    "publicIp": "54.194.252.215",
                    "publicDnsName": "ec2-54-194-252-215.eu-west-1.compute.amazonaws.com",
                    "ipOwnerId": "amazon"
                  }
                }
              },
              "ipv6AddressesSet": {
                "item": {
                  "ipv6Address": "2001:db8:1234:1a2b::123"
                }
              }
            }
          },
          "iamInstanceProfile": {
            "arn": "arn:aws:iam::123456789012:instance-profile/AdminRole",
            "id": "ABCAJEDNCAA64SSD123AB"
          },
          "ebsOptimized": false,
          "cpuOptions": {
            "coreCount": 1,
            "threadsPerCore": 1
          }
        }
      }
    }
  }
}
```

No objeto de resposta JSON, a instância `State` está aninhada em um objeto `Instances` que está aninhado no objeto `Reservations`. Para retornar o valor da instância `State`, use a seguinte string para `Selector` para que o valor possa ser usado em nossa saída: **\$1.Reservations[0].Instances[0].State.Name**.

Para referenciar um valor de saída em ações subsequentes do fluxo de trabalho do seu runbook, o seguinte formato é usado: `{{ StepName.NameOfOutput }}`. Por exemplo, **\$1\$1 GetInstanceState.InstanceState \$1\$1**. Na experiência de design visual, é possível escolher valores de saída para usar em ações subsequentes utilizando o menu suspenso para a entrada. Ao usar saídas em ações subsequentes, o tipo de dados da saída deve corresponder ao tipo de dados da entrada. Neste exemplo, a saída `InstanceState` é uma `String`. Portanto, para usar o valor na entrada de uma ação subsequente, a entrada deve aceitar uma `String`.