

# AWS Proton Exemplos do usando a AWS CLI
<a name="cli_proton_code_examples"></a>

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

*Ações* são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

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

**Topics**
+ [Ações](#actions)

## Ações
<a name="actions"></a>

### `cancel-service-instance-deployment`
<a name="proton_CancelServiceInstanceDeployment_cli_topic"></a>

O código de exemplo a seguir mostra como usar `cancel-service-instance-deployment`.

**AWS CLI**  
**Para cancelar uma implantação de instância de serviço**  
O exemplo `cancel-service-instance-deployment` a seguir cancela a implantação de uma instância de serviço.  

```
aws proton cancel-service-instance-deployment \
    --service-instance-name "instance-one" \
    --service-name "simple-svc"
```
Resultado:  

```
{
    "serviceInstance": {
        "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one",
        "createdAt": "2021-04-02T21:29:59.962000+00:00",
        "deploymentStatus": "CANCELLING",
        "environmentName": "simple-env",
        "lastDeploymentAttemptedAt": "2021-04-02T21:45:15.406000+00:00",
        "lastDeploymentSucceededAt": "2021-04-02T21:38:00.823000+00:00",
        "name": "instance-one",
        "serviceName": "simple-svc",
        "spec": "proton: ServiceSpec\npipeline:\n  my_sample_pipeline_optional_input: abc\n  my_sample_pipeline_required_input: '123'\ninstances:\n- name: my-instance\n  environment: MySimpleEnv\n  spec:\n    my_sample_service_instance_optional_input: def\n    my_sample_service_instance_required_input: '456'\n- name: my-other-instance\n  environment: MySimpleEnv\n  spec:\n    my_sample_service_instance_required_input: '789'\n",
        "templateMajorVersion": "1",
        "templateMinorVersion": "1",
        "templateName": "svc-simple"
    }
}
```
Para obter mais informações, consulte [Atualizar uma instância de serviço](https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-instance-update.html) no *Guia do administrador do AWS Proton* ou [Atualizar uma instância de serviço](https://docs.aws.amazon.com/proton/latest/userguide/ug-svc-instance-update.html) no *Guia do usuário do AWS Proton*.  
+  Para ver detalhes da API, consulte [CancelServiceInstanceDeployment](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/proton/cancel-service-instance-deployment.html) na *Referência de comandos da AWS CLI*. 

### `cancel-service-pipeline-deployment`
<a name="proton_CancelServicePipelineDeployment_cli_topic"></a>

O código de exemplo a seguir mostra como usar `cancel-service-pipeline-deployment`.

**AWS CLI**  
**Para cancelar uma implantação de pipeline de serviço**  
O exemplo `cancel-service-pipeline-deployment` a seguir cancela a implantação de um pipeline de serviço.  

```
aws proton cancel-service-pipeline-deployment \
    --service-name "simple-svc"
```
Resultado:  

```
{
    "pipeline": {
        "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline",
        "createdAt": "2021-04-02T21:29:59.962000+00:00",
        "deploymentStatus": "CANCELLING",
        "lastDeploymentAttemptedAt": "2021-04-02T22:02:45.095000+00:00",
        "lastDeploymentSucceededAt": "2021-04-02T21:39:28.991000+00:00",
        "templateMajorVersion": "1",
        "templateMinorVersion": "1",
        "templateName": "svc-simple"
    }
}
```
Para obter mais informações, consulte [Atualizar um pipeline de serviço](https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-pipeline-update.html) no *Guia do administrador do AWS Proton* ou [Atualizar um pipeline de serviço](https://docs.aws.amazon.com/proton/latest/userguide/ag-svc-pipeline-update.html) no *Guia do usuário do AWS Proton*.  
+  Para ver detalhes da API, consulte [CancelServicePipelineDeployment](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/proton/cancel-service-pipeline-deployment.html) na *Referência de comandos da AWS CLI*. 

### `create-service`
<a name="proton_CreateService_cli_topic"></a>

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

**AWS CLI**  
**Para criar um serviço**  
O exemplo `create-service` a seguir cria um serviço com um pipeline de serviços.  

```
aws proton create-service \
    --name "MySimpleService" \
    --template-name "fargate-service" \
    --template-major-version "1" \
    --branch-name "mainline" \
    --repository-connection-arn "arn:aws:codestar-connections:region-id:account-id:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" \
    --repository-id "myorg/myapp" \
    --spec file://spec.yaml
```
Conteúdo de `spec.yaml`:  

```
proton: ServiceSpec

pipeline:
    my_sample_pipeline_required_input: "hello"
    my_sample_pipeline_optional_input: "bye"

instances:
    - name: "acme-network-dev"
        environment: "ENV_NAME"
        spec:
            my_sample_service_instance_required_input: "hi"
            my_sample_service_instance_optional_input: "ho"
```
Resultado:  

```
{
    "service": {
        "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService",
        "createdAt": "2020-11-18T19:50:27.460000+00:00",
        "lastModifiedAt": "2020-11-18T19:50:27.460000+00:00",
        "name": "MySimpleService",
        "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "repositoryId": "myorg/myapp",
        "status": "CREATE_IN_PROGRESS",
        "templateName": "fargate-service"
    }
}
```
Para obter mais informações, consulte [Criar um serviço](https://docs.aws.amazon.com/proton/latest/adminguide/ag-create-svc.html) no *Guia do administrador do AWS Proton* ou [Criar um serviço](https://docs.aws.amazon.com/proton/latest/userguide/ug-svc-create.html) no *Guia do usuário do AWS Proton*.  
+  Consulte detalhes da API em [CreateService](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/proton/create-service.html) na *Referência de comandos da AWS CLI*. 

### `delete-service`
<a name="proton_DeleteService_cli_topic"></a>

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

**AWS CLI**  
**Como excluir um serviço**  
O exemplo `delete-service` a seguir exclui um serviço.  

```
aws proton delete-service \
    --name "simple-svc"
```
Resultado:  

```
{
    "service": {
        "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc",
        "branchName": "mainline",
        "createdAt": "2020-11-28T22:40:50.512000+00:00",
        "description": "Edit by updating description",
        "lastModifiedAt": "2020-11-29T00:30:39.248000+00:00",
        "name": "simple-svc",
        "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "repositoryId": "myorg/myapp",
        "status": "DELETE_IN_PROGRESS",
        "templateName": "fargate-service"
    }
}
```
Para obter mais informações, consulte [Excluir um serviço](https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-delete.html) no *Guia do administrador do AWS Proton*.  
+  Consulte detalhes da API em [DeleteService](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/proton/delete-service.html) na *Referência de comandos da AWS CLI*. 

### `get-service-instance`
<a name="proton_GetServiceInstance_cli_topic"></a>

O código de exemplo a seguir mostra como usar `get-service-instance`.

**AWS CLI**  
**Para obter detalhes da instância do serviço**  
O exemplo `get-service-instance` a seguir obtém dados detalhados de uma instância de serviço.  

```
aws proton get-service-instance \
    --name "instance-one" \
    --service-name "simple-svc"
```
Resultado:  

```
{
    "serviceInstance": {
        "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one",
        "createdAt": "2020-11-28T22:40:50.512000+00:00",
        "deploymentStatus": "SUCCEEDED",
        "environmentName": "simple-env",
        "lastDeploymentAttemptedAt": "2020-11-28T22:40:50.512000+00:00",
        "lastDeploymentSucceededAt": "2020-11-28T22:40:50.512000+00:00",
        "name": "instance-one",
        "serviceName": "simple-svc",
        "spec": "proton: ServiceSpec\npipeline:\n  my_sample_pipeline_optional_input: hello world\n  my_sample_pipeline_required_input: pipeline up\ninstances:\n- name: instance-one\n  environment: my-simple-env\n  spec:\n    my_sample_service_instance_optional_input: Ola\n    my_sample_service_instance_required_input: Ciao\n",
        "templateMajorVersion": "1",
        "templateMinorVersion": "0",
        "templateName": "svc-simple"
    }
}
```
Para obter mais informações, consulte [Visualizar dados de um serviço](https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-view.html) no *Guia do administrador do AWS Proton* ou [Visualizar dados de um serviço](https://docs.aws.amazon.com/proton/latest/userguide/ug-svc-view.html) no *Guia do usuário do AWS Proton*.  
+  Para ver detalhes da API, consulte [GetServiceInstance](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/proton/get-service-instance.html) na *Referência de comandos da AWS CLI*. 

### `get-service`
<a name="proton_GetService_cli_topic"></a>

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

**AWS CLI**  
**Para obter detalhes do serviço**  
O exemplo `get-service` a seguir obtém dados detalhados de uma serviço.  

```
aws proton get-service \
    --name "simple-svc"
```
Resultado:  

```
{
    "service": {
        "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc",
        "branchName": "mainline",
        "createdAt": "2020-11-28T22:40:50.512000+00:00",
        "lastModifiedAt": "2020-11-28T22:44:51.207000+00:00",
        "name": "simple-svc",
        "pipeline": {
            "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
            "createdAt": "2020-11-28T22:40:50.512000+00:00",
            "deploymentStatus": "SUCCEEDED",
            "lastDeploymentAttemptedAt": "2020-11-28T22:40:50.512000+00:00",
            "lastDeploymentSucceededAt": "2020-11-28T22:40:50.512000+00:00",
            "spec": "proton: ServiceSpec\npipeline:\n  my_sample_pipeline_required_input: hello\n  my_sample_pipeline_optional_input: bye\ninstances:\n- name: instance-svc-simple\n  environment: my-simple-env\n  spec:\n    my_sample_service_instance_required_input: hi\n    my_sample_service_instance_optional_input: ho\n",
            "templateMajorVersion": "1",
            "templateMinorVersion": "1",
            "templateName": "svc-simple"
        },
        "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
        "repositoryId": "myorg/myapp",
        "spec": "proton: ServiceSpec\npipeline:\n  my_sample_pipeline_required_input: hello\n  my_sample_pipeline_optional_input: bye\ninstances:\n- name: instance-svc-simple\n  environment: my-simple-env\n  spec:\n    my_sample_service_instance_required_input: hi\n    my_sample_service_instance_optional_input: ho\n",
        "status": "ACTIVE",
        "templateName": "svc-simple"
    }
}
```
Para obter mais informações, consulte [Visualizar dados de um serviço](https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-view.html) no *Guia do administrador do AWS Proton* ou [Visualizar dados de um serviço](https://docs.aws.amazon.com/proton/latest/userguide/ug-svc-view.html) no *Guia do usuário do AWS Proton*.  
+  Para ver detalhes da API, consulte [GetService](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/proton/get-service.html) na *Referência de comandos da AWS CLI*. 

### `list-service-instances`
<a name="proton_ListServiceInstances_cli_topic"></a>

O código de exemplo a seguir mostra como usar `list-service-instances`.

**AWS CLI**  
**Exemplo 1: listar todas as instâncias de um serviço**  
O exemplo `list-service-instances` a seguir lista as instâncias do serviço.  

```
aws proton list-service-instances
```
Resultado:  

```
{
    "serviceInstances": [
        {
            "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one",
            "createdAt": "2020-11-28T22:40:50.512000+00:00",
            "deploymentStatus": "SUCCEEDED",
            "environmentArn": "arn:aws:proton:region-id:123456789012:environment/simple-env",
            "lastDeploymentAttemptedAt": "2020-11-28T22:40:50.512000+00:00",
            "lastDeploymentSucceededAt": "2020-11-28T22:40:50.512000+00:00",
            "name": "instance-one",
            "serviceName": "simple-svc",
            "templateMajorVersion": "1",
            "templateMinorVersion": "0",
            "templateName": "fargate-service"
        }
    ]
}
```
Para obter mais informações, consulte [Visualizar dados de instâncias de um serviço](https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-instance-view.html) no *Guia do administrador do AWS Proton* ou [Visualizar dados de instâncias de um serviço](https://docs.aws.amazon.com/proton/latest/userguide/ag-svc-instance-view.html) no *Guia do usuário do AWS Proton*.  
**Exemplo 2: listar a instância especificada de um serviço**  
O exemplo `get-service-instance` a seguir obtém uma instância de um serviço.  

```
aws proton get-service-instance \
    --name "instance-one" \
    --service-name "simple-svc"
```
Resultado:  

```
{
    "serviceInstance": {
        "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one",
        "createdAt": "2020-11-28T22:40:50.512000+00:00",
        "deploymentStatus": "SUCCEEDED",
        "environmentName": "simple-env",
        "lastDeploymentAttemptedAt": "2020-11-28T22:40:50.512000+00:00",
        "lastDeploymentSucceededAt": "2020-11-28T22:40:50.512000+00:00",
        "name": "instance-one",
        "serviceName": "simple-svc",
        "spec": "proton: ServiceSpec\npipeline:\n  my_sample_pipeline_optional_input: hello world\n  my_sample_pipeline_required_input: pipeline up\ninstances:\n- name: instance-one\n  environment: my-simple-env\n  spec:\n    my_sample_service_instance_optional_input: Ola\n    my_sample_service_instance_required_input: Ciao\n",
        "templateMajorVersion": "1",
        "templateMinorVersion": "0",
        "templateName": "svc-simple"
    }
}
```
Para obter mais informações, consulte [Visualizar dados de instâncias de um serviço](https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-instance-view.html) no *Guia do administrador do AWS Proton* ou [Visualizar dados de instâncias de um serviço](https://docs.aws.amazon.com/proton/latest/userguide/ag-svc-instance-view.html) no *Guia do usuário do AWS Proton*.  
+  Para ver detalhes da API, consulte [ListServiceInstances](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/proton/list-service-instances.html) na *Referência de comandos da AWS CLI*. 

### `update-service-instance`
<a name="proton_UpdateServiceInstance_cli_topic"></a>

O código de exemplo a seguir mostra como usar `update-service-instance`.

**AWS CLI**  
**Para atualizar uma instância de serviço para uma nova versão secundária**  
O exemplo `update-service-instance` a seguir atualiza uma instância de serviço para uma nova versão secundária de seu modelo de serviço que adiciona uma nova instância chamada "my-other-instance" com uma nova entrada obrigatória.  

```
aws proton update-service-instance \
    --service-name "simple-svc" \
    --spec "file://service-spec.yaml " \
    --template-major-version "1" \
    --template-minor-version "1" \
    --deployment-type "MINOR_VERSION" \
    --name "instance-one"
```
Conteúdo de `service-spec.yaml`:  

```
proton: ServiceSpec
pipeline:
    my_sample_pipeline_optional_input: "abc"
    my_sample_pipeline_required_input: "123"
instances:
    - name: "instance-one"
        environment: "simple-env"
        spec:
            my_sample_service_instance_optional_input: "def"
            my_sample_service_instance_required_input: "456"
    - name: "my-other-instance"
        environment: "simple-env"
        spec:
            my_sample_service_instance_required_input: "789"
```
Resultado:  

```
{
    "serviceInstance": {
        "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one",
        "createdAt": "2021-04-02T21:29:59.962000+00:00",
        "deploymentStatus": "IN_PROGRESS",
        "environmentName": "arn:aws:proton:region-id:123456789012:environment/simple-env",
        "lastDeploymentAttemptedAt": "2021-04-02T21:38:00.823000+00:00",
        "lastDeploymentSucceededAt": "2021-04-02T21:29:59.962000+00:00",
        "name": "instance-one",
        "serviceName": "simple-svc",
        "templateMajorVersion": "1",
        "templateMinorVersion": "0",
        "templateName": "svc-simple"
    }
}
```
Para obter mais informações, consulte [Atualizar uma instância de serviço](https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-instance-update.html) no *Guia do administrador do AWS Proton* ou [Atualizar uma instância de serviço](https://docs.aws.amazon.com/proton/latest/userguide/ag-svc-instance-update.html) no *Guia do usuário do AWS Proton*.  
+  Para ver detalhes da API, consulte [UpdateServiceInstance](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/proton/update-service-instance.html) na *Referência de comandos da AWS CLI*. 

### `update-service-pipeline`
<a name="proton_UpdateServicePipeline_cli_topic"></a>

O código de exemplo a seguir mostra como usar `update-service-pipeline`.

**AWS CLI**  
**Para atualizar um pipeline de serviço**  
O exemplo `update-service-pipeline` a seguir atualiza um pipeline de serviço para uma nova versão secundária de seu modelo de serviço.  

```
aws proton update-service-pipeline \
    --service-name "simple-svc" \
    --spec "file://service-spec.yaml" \
    --template-major-version "1" \
    --template-minor-version "1" \
    --deployment-type "MINOR_VERSION"
```
Resultado:  

```
{
    "pipeline": {
        "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "createdAt": "2021-04-02T21:29:59.962000+00:00",
        "deploymentStatus": "IN_PROGRESS",
        "lastDeploymentAttemptedAt": "2021-04-02T21:39:28.991000+00:00",
        "lastDeploymentSucceededAt": "2021-04-02T21:29:59.962000+00:00",
        "spec": "proton: ServiceSpec\n\npipeline:\n  my_sample_pipeline_optional_input: \"abc\"\n  my_sample_pipeline_required_input: \"123\"\n\ninstances:\n  - name: \"my-instance\"\n    environment: \"MySimpleEnv\"\n    spec:\n      my_sample_service_instance_optional_input: \"def\"\n      my_sample_service_instance_required_input: \"456\"\n  - name: \"my-other-instance\"\n    environment: \"MySimpleEnv\"\n    spec:\n      my_sample_service_instance_required_input: \"789\"\n",
        "templateMajorVersion": "1",
        "templateMinorVersion": "0",
        "templateName": "svc-simple"
    }
}
```
Para obter mais informações, consulte [Atualizar um pipeline de serviço](https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-pipeline-update.html) no *Guia do administrador do AWS Proton* ou [Atualizar um pipeline de serviço](https://docs.aws.amazon.com/proton/latest/userguide/ag-svc-pipeline-update.html) no *Guia do usuário do AWS Proton*.  
+  Para ver detalhes da API, consulte [UpdateServicePipeline](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/proton/update-service-pipeline.html) na *Referência de comandos da AWS CLI*. 

### `update-service`
<a name="proton_UpdateService_cli_topic"></a>

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

**AWS CLI**  
**Para atualizar um serviço**  
O exemplo `update-service` a seguir edita a descrição de um serviço.  

```
aws proton update-service \
    --name "MySimpleService" \
    --description "Edit by updating description"
```
Resultado:  

```
{
    "service": {
        "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService",
        "branchName": "mainline",
        "createdAt": "2021-03-12T22:39:42.318000+00:00",
        "description": "Edit by updating description",
        "lastModifiedAt": "2021-03-12T22:44:21.975000+00:00",
        "name": "MySimpleService",
        "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "repositoryId": "myorg/myapp",
        "status": "ACTIVE",
        "templateName": "fargate-service"
    }
}
```
Para obter mais informações, consulte [Editar um serviço](https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-update.html) no *Guia do administrador do AWS Proton* ou [Editar um serviço](https://docs.aws.amazon.com/proton/latest/userguide/ug-svc-update.html) no *Guia do usuário do AWS Proton*.  
+  Consulte detalhes da API em [UpdateService](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/proton/update-service.html) na *Referência de comandos da AWS CLI*. 