

# AWS Proton Ejemplos de usando AWS CLI
<a name="cli_proton_code_examples"></a>

En los siguientes ejemplos de código se muestra cómo realizar acciones e implementar escenarios comunes usando AWS Command Line Interface con AWS Proton.

Las *acciones* son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

**Topics**
+ [Acciones](#actions)

## Acciones
<a name="actions"></a>

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

En el siguiente ejemplo de código, se muestra cómo utilizar `cancel-service-instance-deployment`.

**AWS CLI**  
**Para cancelar una implementación de instancia de servicio**  
En el siguiente ejemplo de `cancel-service-instance-deployment`, se cancela la implementación de una instancia de servicio.  

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

```
{
    "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 obtener más información, consulte [Update a service instance](https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-instance-update.html) en la *Guía del administrador de AWS Proton* o [Update a service instance](https://docs.aws.amazon.com/proton/latest/userguide/ug-svc-instance-update.html) en la *Guía del usuario de AWS Proton*.  
+  Para obtener información sobre la API, consulte [CancelServiceInstanceDeployment](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/proton/cancel-service-instance-deployment.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `cancel-service-pipeline-deployment`.

**AWS CLI**  
**Para cancelar una implementación de canalización de un servicio**  
En el siguiente ejemplo de `cancel-service-pipeline-deployment`, se cancela la implementación de la canalización de un servicio.  

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

```
{
    "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 obtener más información, consulte [Update a service pipeline](https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-pipeline-update.html) en la *Guía del administrador de AWS Proton* o [Update a service pipeline](https://docs.aws.amazon.com/proton/latest/userguide/ag-svc-pipeline-update.html) en la *Guía del usuario de AWS Proton*.  
+  Para obtener información sobre la API, consulte [CancelServicePipelineDeployment](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/proton/cancel-service-pipeline-deployment.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `create-service`.

**AWS CLI**  
**Para crear un servicio**  
En el siguiente ejemplo de `create-service`, se crea un servicio con una canalización de servicios.  

```
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
```
Contenido 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"
```
Salida:  

```
{
    "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 obtener más información, consulte [Create a service](https://docs.aws.amazon.com/proton/latest/adminguide/ag-create-svc.html) en la *Guía del administrador de AWS Proton* y [Create a service](https://docs.aws.amazon.com/proton/latest/userguide/ug-svc-create.html) en la *Guía del usuario de AWS Proton*.  
+  Para obtener información sobre la API, consulte [CreateService](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/proton/create-service.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `delete-service`.

**AWS CLI**  
**Para eliminar un servicio**  
En el siguiente ejemplo de `delete-service`, se elimina un servicio.  

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

```
{
    "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 obtener más información, consulte [Delete a service](https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-delete.html) en la *Guía del administrador de AWS Proton*.  
+  Para obtener información sobre la API, consulte [DeleteService](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/proton/delete-service.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `get-service-instance`.

**AWS CLI**  
**Para obtener los detalles de la instancia de servicio**  
En el siguiente ejemplo de `get-service-instance`, se obtienen datos detallados de una instancia de servicio.  

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

```
{
    "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 obtener más información, consulte [View service data](https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-view.html) en la *View service data del administrador de AWS Proton* o [View service data](https://docs.aws.amazon.com/proton/latest/userguide/ug-svc-view.html) en la *Guía del usuario de AWS Proton*.  
+  Para obtener información sobre la API, consulte [GetServiceInstance](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/proton/get-service-instance.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `get-service`.

**AWS CLI**  
**Para obtener detalles del servicio**  
En el siguiente ejemplo de `get-service`, se obtienen datos detallados de un servicio.  

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

```
{
    "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 obtener más información, consulte [View service data](https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-view.html) en la *View service data del administrador de AWS Proton* o [View service data](https://docs.aws.amazon.com/proton/latest/userguide/ug-svc-view.html) en la *Guía del usuario de AWS Proton*.  
+  Para obtener información sobre la API, consulte [GetService](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/proton/get-service.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `list-service-instances`.

**AWS CLI**  
**Ejemplo 1: enumerar todas las instancias de servicio**  
En el siguiente ejemplo de `list-service-instances`, se enumeran las instancias del servicio.  

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

```
{
    "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 obtener más información, consulte [View service instance data](https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-instance-view.html) en la *Guía del administrador de AWS Proton* o [View service instance data](https://docs.aws.amazon.com/proton/latest/userguide/ag-svc-instance-view.html) en la *Guía del usuario de AWS Proton*.  
**Ejemplo 2: enumerar la instancia de servicio especificada**  
En el siguiente ejemplo de `get-service-instance`, se obtiene una instancia de servicio.  

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

```
{
    "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 obtener más información, consulte [View service instance data](https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-instance-view.html) en la *Guía del administrador de AWS Proton* o [View service instance data](https://docs.aws.amazon.com/proton/latest/userguide/ag-svc-instance-view.html) en la *Guía del usuario de AWS Proton*.  
+  Para obtener información sobre la API, consulte [ListServiceInstances](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/proton/list-service-instances.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `update-service-instance`.

**AWS CLI**  
**Para actualizar una instancia de servicio a una nueva versión secundaria**  
En el siguiente ejemplo de `update-service-instance`, se actualiza una instancia de servicio a una nueva versión secundaria de su plantilla de servicio que agrega una nueva instancia denominada my-other-instance con una nueva entrada obligatoria.  

```
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"
```
Contenido 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"
```
Salida:  

```
{
    "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 obtener más información, consulte [Update a service instance](https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-instance-update.html) en la *Guía del administrador de AWS Proton* o [Update a service instance](https://docs.aws.amazon.com/proton/latest/userguide/ag-svc-instance-update.html) en la *Guía del usuario de AWS Proton*.  
+  Para obtener información sobre la API, consulte [UpdateServiceInstance](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/proton/update-service-instance.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `update-service-pipeline`.

**AWS CLI**  
**Para actualizar una canalización de servicio**  
En el siguiente ejemplo de `update-service-pipeline`, se actualiza a una canalización de servicio a una nueva versión secundaria de su plantilla de servicio.  

```
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"
```
Salida:  

```
{
    "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 obtener más información, consulte [Update a service pipeline](https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-pipeline-update.html) en la *Guía del administrador de AWS Proton* o [Update a service pipeline](https://docs.aws.amazon.com/proton/latest/userguide/ag-svc-pipeline-update.html) en la *Guía del usuario de AWS Proton*.  
+  Para obtener información sobre la API, consulte [UpdateServicePipeline](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/proton/update-service-pipeline.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `update-service`.

**AWS CLI**  
**Para actualizar un servicio**  
En el siguiente ejemplo de `update-service`, se edita la descripción de un servicio.  

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

```
{
    "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 obtener más información, consulte [Edit a service](https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-update.html) en la *Guía del administrador de AWS Proton* o [Edit a service](https://docs.aws.amazon.com/proton/latest/userguide/ug-svc-update.html) en la *Guía del usuario de AWS Proton*.  
+  Para obtener información sobre la API, consulte [UpdateService](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/proton/update-service.html) en la *Referencia de comandos de la AWS CLI*. 