

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Modificación de la aplicación
<a name="modify-application-using-api"></a>

AWS Resilience Hub le permite modificar los recursos de la aplicación editando una versión preliminar de la aplicación y publicando los cambios en una versión nueva (publicada). AWS Resilience Hub utiliza la versión publicada de la aplicación, que incluye los recursos actualizados, para realizar las evaluaciones de resiliencia. 

Para obtener más información, consulte los temas siguientes:
+ [Agregar recursos manualmente a la aplicación](#manually-add-resource-using-api)
+ [Agrupar los recursos en un único componente de aplicación](#group-resource-using-api)
+ [Excluir un recurso de un AppComponent](#exclude-resource-using-api)

## Agregar recursos manualmente a la aplicación
<a name="manually-add-resource-using-api"></a>

Si el recurso no se implementa como parte de una fuente de entrada, te AWS Resilience Hub permite añadir el recurso manualmente a tu aplicación mediante la `CreateAppVersionResource` API. Para obtener más información acerca esta API, consulte [https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_CreateAppVersionResource.html](https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_CreateAppVersionResource.html).

Debe proporcionar los siguientes parámetros a esta API:
+ Nombre de recurso de Amazon (ARN) de la aplicación
+ ID lógico del recurso
+ ID física del recurso
+ AWS CloudFormation escriba

En el siguiente ejemplo, se muestra cómo añadir recursos manualmente a su aplicación en AWS Resilience Hub mediante una API `CreateAppVersionResource`.

### Solicitud
<a name="manually-add-resource-req"></a>

```
aws resiliencehub create-app-version-resource \
--app-arn <App_ARN> \
--resource-name "backup-efs" \
--logical-resource-id '{"identifier": "backup-efs"}' \
--physical-resource-id '<Physical_resource_id_ARN>' \
--resource-type AWS::EFS::FileSystem \
--app-components '["new-app-component"]'
```

### Respuesta
<a name="manually-add-resource-res"></a>

```
{
    "appArn": "<App_ARN>",
    "appVersion": "draft",
    "physicalResource": {
        "resourceName": "backup-efs",
        "logicalResourceId": {
            "identifier": "backup-efs"
        },
        "physicalResourceId": {
            "identifier": "<Physical_resource_id_ARN>",
            "type": "Arn"
        },
        "resourceType": "AWS::EFS::FileSystem",
        "appComponents": [
            {
                "name": "new-app-component",
                "type": "AWS::ResilienceHub::StorageAppComponent",
                "id": "new-app-component"
            }
        ]
    }
}
```

## Agrupar los recursos en un único componente de aplicación
<a name="group-resource-using-api"></a>

Un componente de aplicación (AppComponent) es un grupo de AWS recursos relacionados que funcionan y fallan como una sola unidad. Por ejemplo, cuando tiene cargas de trabajo entre regiones que se utilizan como implementaciones en espera. AWS Resilience Hub tiene reglas que rigen qué AWS recursos pueden pertenecer a qué tipo de. AppComponent AWS Resilience Hub permite agrupar los recursos en uno solo AppComponent mediante la siguiente administración de recursos APIs.
+ `UpdateAppVersionResource`: esta API actualiza los detalles de los recursos de una aplicación. Para obtener más información acerca esta API, consulte [UpdateAppVersionResource](https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_UpdateAppVersionResource.html).
+ `DeleteAppVersionAppComponent`— Esta API los elimina AppComponent de la aplicación. Para obtener más información acerca esta API, consulte [DeleteAppVersionAppComponent](https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_DeleteAppVersionAppComponent.html).

El siguiente ejemplo muestra cómo actualizar los detalles de los recursos de su aplicación AWS Resilience Hub mediante la `DeleteAppVersionAppComponent` API.

### Solicitud
<a name="update-resource-req"></a>

```
aws resiliencehub delete-app-version-app-component \
--app-arn <App_ARN> \
--id new-app-component
```

### Respuesta
<a name="update-resource-res"></a>

```
{
    "appArn": "<App_ARN>",
    "appVersion": "draft",
    "appComponent": {
        "name": "new-app-component",
        "type": "AWS::ResilienceHub::StorageAppComponent",
        "id": "new-app-component"
    }
}
```

El siguiente ejemplo muestra cómo eliminar el espacio vacío AppComponent que se creó en los ejemplos anteriores al AWS Resilience Hub usar la `UpdateAppVersionResource` API.

### Solicitud
<a name="delete-appComp-req"></a>

```
aws resiliencehub delete-app-version-app-component \
--app-arn <App_ARN> \
--id new-app-component
```

### Respuesta
<a name="delete-appComp-res"></a>

```
{
    "appArn": "<App_ARN>",
    "appVersion": "draft",
    "appComponent": {
        "name": "new-app-component",
        "type": "AWS::ResilienceHub::StorageAppComponent",
        "id": "new-app-component"
    }
}
```

## Excluir un recurso de un AppComponent
<a name="exclude-resource-using-api"></a>

AWS Resilience Hub permite excluir los recursos de las evaluaciones mediante la `UpdateAppVersionResource` API. Estos recursos no se tendrán en cuenta al calcular la resiliencia de la aplicación. Para obtener más información acerca esta API, consulte [https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_UpdateAppVersionResource.html](https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_UpdateAppVersionResource.html).

**nota**  
Solo puede excluir los recursos que se importaron de un origen de entrada.

El siguiente ejemplo muestra cómo excluir un recurso de su aplicación en AWS Resilience Hub mediante la API `UpdateAppVersionResource`.

### Solicitud
<a name="update-appComp-resource-req"></a>

```
aws resiliencehub update-app-version-resource \
--app-arn <App_ARN> \
--resource-name "ec2instance-nvz" \
--excluded
```

### Respuesta
<a name="update-appComp-resource-res"></a>

```
{
    "appArn": "<App_ARN>",
    "appVersion": "draft",
    "physicalResource": {
        "resourceName": "ec2instance-nvz",
        "logicalResourceId": {
            "identifier": "ec2",
            "terraformSourceName": "test.state.file"
        },
        "physicalResourceId": {
            "identifier": "i-0b58265a694e5ffc1",
            "type": "Native",
            "awsRegion": "us-west-2",
            "awsAccountId": "123456789101"
        },
        "resourceType": "AWS::EC2::Instance",
        "appComponents": [
            {
                "name": "computeappcomponent-nrz",
                "type": "AWS::ResilienceHub::ComputeAppComponent"
            }
        ]
    }
}
```