

# AWS Config Ejemplos de usando AWS CLI
<a name="cli_config-service_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 Config.

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>

### `delete-config-rule`
<a name="config-service_DeleteConfigRule_cli_topic"></a>

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

**AWS CLI**  
**Eliminación de una regla de configuración de AWS**  
El siguiente comando elimina una regla de configuración de AWS denominada `MyConfigRule`:  

```
aws configservice delete-config-rule --config-rule-name MyConfigRule
```
+  Para obtener información sobre la API, consulte [DeleteConfigRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/delete-config-rule.html) en la *Referencia de comandos de la AWS CLI*. 

### `delete-delivery-channel`
<a name="config-service_DeleteDeliveryChannel_cli_topic"></a>

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

**AWS CLI**  
**Eliminación de un canal de entrega**  
El siguiente comando elimina el canal de entrega predeterminado:  

```
aws configservice delete-delivery-channel --delivery-channel-name default
```
+  Para obtener detalles sobre la API, consulte [DeleteDeliveryChannel](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/delete-delivery-channel.html) en la *Referencia de comandos de la AWS CLI*. 

### `delete-evaluation-results`
<a name="config-service_DeleteEvaluationResults_cli_topic"></a>

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

**AWS CLI**  
**Eliminación manual de los resultados de la evaluación**  
El comando siguiente elimina los resultados de evaluación actuales de la regla de AWS administrada s3-bucket-versioning-enabled:  

```
aws configservice delete-evaluation-results --config-rule-name s3-bucket-versioning-enabled
```
+  Para obtener detalles sobre la API, consulte [DeleteEvaluationResults](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/delete-evaluation-results.html) en la *Referencia de comandos de la AWS CLI*. 

### `deliver-config-snapshot`
<a name="config-service_DeliverConfigSnapshot_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `deliver-config-snapshot`.

**AWS CLI**  
**Entrega de una instantánea de configuración**  
El comando siguiente entrega una instantánea de configuración al bucket de Amazon S3 que pertenece al canal de entrega predeterminado:  

```
aws configservice deliver-config-snapshot --delivery-channel-name default
```
Salida:  

```
{
    "configSnapshotId": "d0333b00-a683-44af-921e-examplefb794"
}
```
+  Para obtener detalles sobre la API, consulte [DeliverConfigSnapshot](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/deliver-config-snapshot.html) en la *Referencia de comandos de la AWS CLI*. 

### `describe-compliance-by-config-rule`
<a name="config-service_DescribeComplianceByConfigRule_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `describe-compliance-by-config-rule`.

**AWS CLI**  
**Para obtener información sobre el cumplimiento de sus reglas de AWS Config**  
El siguiente comando devuelve la información de conformidad de cada regla de AWS Config infringida por uno o más recursos de AWS:  

```
aws configservice describe-compliance-by-config-rule --compliance-types NON_COMPLIANT
```
En el resultado, el valor de cada atributo de `CappedCount` indica cuántos recursos no cumplen con la regla relacionada. Por ejemplo, el siguiente resultado indica que tres recursos no cumplen con la regla denominada `InstanceTypesAreT2micro`.  
Salida:  

```
{
    "ComplianceByConfigRules": [
        {
            "Compliance": {
                "ComplianceContributorCount": {
                    "CappedCount": 3,
                    "CapExceeded": false
                },
                "ComplianceType": "NON_COMPLIANT"
            },
            "ConfigRuleName": "InstanceTypesAreT2micro"
        },
        {
            "Compliance": {
                "ComplianceContributorCount": {
                    "CappedCount": 10,
                    "CapExceeded": false
                },
                "ComplianceType": "NON_COMPLIANT"
            },
            "ConfigRuleName": "RequiredTagsForVolumes"
        }
    ]
}
```
+  Para obtener detalles sobre la API, consulte [DescribeComplianceByConfigRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-compliance-by-config-rule.html) en la *Referencia de comandos de la AWS CLI*. 

### `describe-compliance-by-resource`
<a name="config-service_DescribeComplianceByResource_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `describe-compliance-by-resource`.

**AWS CLI**  
**Para obtener información sobre el cumplimiento de sus recursos de AWS**  
El siguiente comando devuelve la información de conformidad de cada instancia de EC2 registrada por AWS Config que infrinja una o más reglas:  

```
aws configservice describe-compliance-by-resource --resource-type AWS::EC2::Instance --compliance-types NON_COMPLIANT
```
En el resultado, el valor de cada atributo de `CappedCount` indica cuántas reglas infringe el recurso. Por ejemplo, el siguiente resultado indica que la instancia `i-1a2b3c4d` infringe dos reglas.  
Salida:  

```
{
    "ComplianceByResources": [
        {
            "ResourceType": "AWS::EC2::Instance",
            "ResourceId": "i-1a2b3c4d",
            "Compliance": {
                "ComplianceContributorCount": {
                    "CappedCount": 2,
                    "CapExceeded": false
                },
                "ComplianceType": "NON_COMPLIANT"
            }
        },
        {
            "ResourceType": "AWS::EC2::Instance",
            "ResourceId": "i-2a2b3c4d ",
            "Compliance": {
                "ComplianceContributorCount": {
                    "CappedCount": 3,
                    "CapExceeded": false
                },
                "ComplianceType": "NON_COMPLIANT"
            }
        }
    ]
}
```
+  Para obtener detalles sobre la API, consulte [DescribeComplianceByResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-compliance-by-resource.html) en la *Referencia de comandos de la AWS CLI*. 

### `describe-config-rule-evaluation-status`
<a name="config-service_DescribeConfigRuleEvaluationStatus_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `describe-config-rule-evaluation-status`.

**AWS CLI**  
**Para obtener información de estado de una regla de AWS Config**  
El siguiente comando devuelve la información de estado de una regla de AWS Config denominada `MyConfigRule`:  

```
aws configservice describe-config-rule-evaluation-status --config-rule-names MyConfigRule
```
Salida:  

```
{
    "ConfigRulesEvaluationStatus": [
        {
            "ConfigRuleArn": "arn:aws:config:us-east-1:123456789012:config-rule/config-rule-abcdef",
            "FirstActivatedTime": 1450311703.844,
            "ConfigRuleId": "config-rule-abcdef",
            "LastSuccessfulInvocationTime": 1450314643.156,
            "ConfigRuleName": "MyConfigRule"
        }
    ]
}
```
+  Para obtener detalles sobre la API, consulte [DescribeConfigRuleEvaluationStatus](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-config-rule-evaluation-status.html) en la *Referencia de comandos de la AWS CLI*. 

### `describe-config-rules`
<a name="config-service_DescribeConfigRules_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `describe-config-rules`.

**AWS CLI**  
**Obtención de detalles de una regla de configuración de AWS**  
El siguiente comando devuelve los detalles de una regla de configuración de AWS denominada `InstanceTypesAreT2micro`:  

```
aws configservice describe-config-rules --config-rule-names InstanceTypesAreT2micro
```
Salida:  

```
{
    "ConfigRules": [
        {
            "ConfigRuleState": "ACTIVE",
            "Description": "Evaluates whether EC2 instances are the t2.micro type.",
            "ConfigRuleName": "InstanceTypesAreT2micro",
            "ConfigRuleArn": "arn:aws:config:us-east-1:123456789012:config-rule/config-rule-abcdef",
            "Source": {
                "Owner": "CUSTOM_LAMBDA",
                "SourceIdentifier": "arn:aws:lambda:us-east-1:123456789012:function:InstanceTypeCheck",
                "SourceDetails": [
                    {
                        "EventSource": "aws.config",
                        "MessageType": "ConfigurationItemChangeNotification"
                    }
                ]
            },
            "InputParameters": "{\"desiredInstanceType\":\"t2.micro\"}",
            "Scope": {
                "ComplianceResourceTypes": [
                    "AWS::EC2::Instance"
                ]
            },
            "ConfigRuleId": "config-rule-abcdef"
        }
    ]
}
```
+  Para obtener información sobre la API, consulte [DescribeConfigRules](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-config-rules.html) en la *Referencia de comandos de la AWS CLI*. 

### `describe-configuration-recorder-status`
<a name="config-service_DescribeConfigurationRecorderStatus_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `describe-configuration-recorder-status`.

**AWS CLI**  
**Para obtener información de estado del registro de configuración**  
El siguiente comando devuelve el estado del registro de configuración predeterminado:  

```
aws configservice describe-configuration-recorder-status
```
Salida:  

```
{
    "ConfigurationRecordersStatus": [
        {
            "name": "default",
            "lastStatus": "SUCCESS",
            "recording": true,
            "lastStatusChangeTime": 1452193834.344,
            "lastStartTime": 1441039997.819,
            "lastStopTime": 1441039992.835
        }
    ]
}
```
+  Para obtener detalles sobre la API, consulte [DescribeConfigurationRecorderStatus](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-configuration-recorder-status.html) en la *Referencia de comandos de la AWS CLI*. 

### `describe-configuration-recorders`
<a name="config-service_DescribeConfigurationRecorders_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `describe-configuration-recorders`.

**AWS CLI**  
**Para obtener detalles sobre el registro de configuración**  
El comando siguiente devuelve información sobre el registro de configuración predeterminado:  

```
aws configservice describe-configuration-recorders
```
Salida:  

```
{
    "ConfigurationRecorders": [
        {
            "recordingGroup": {
                "allSupported": true,
                "resourceTypes": [],
                "includeGlobalResourceTypes": true
            },
            "roleARN": "arn:aws:iam::123456789012:role/config-ConfigRole-A1B2C3D4E5F6",
            "name": "default"
        }
    ]
}
```
+  Para obtener detalles sobre la API, consulte [DescribeConfigurationRecorders](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-configuration-recorders.html) en la *Referencia de comandos de la AWS CLI*. 

### `describe-delivery-channel-status`
<a name="config-service_DescribeDeliveryChannelStatus_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `describe-delivery-channel-status`.

**AWS CLI**  
**Obtención de información del estado del canal de entrega**  
El comando siguiente devuelve el estado del canal de entrega:  

```
aws configservice describe-delivery-channel-status
```
Salida:  

```
{
    "DeliveryChannelsStatus": [
        {
            "configStreamDeliveryInfo": {
                "lastStatusChangeTime": 1452193834.381,
                "lastStatus": "SUCCESS"
            },
            "configHistoryDeliveryInfo": {
                "lastSuccessfulTime": 1450317838.412,
                "lastStatus": "SUCCESS",
                "lastAttemptTime": 1450317838.412
            },
            "configSnapshotDeliveryInfo": {
                "lastSuccessfulTime": 1452185597.094,
                "lastStatus": "SUCCESS",
                "lastAttemptTime": 1452185597.094
            },
            "name": "default"
        }
    ]
}
```
+  Para obtener detalles sobre la API, consulte [DescribeDeliveryChannelStatus](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-delivery-channel-status.html) en la *Referencia de comandos de la AWS CLI*. 

### `describe-delivery-channels`
<a name="config-service_DescribeDeliveryChannels_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `describe-delivery-channels`.

**AWS CLI**  
**Para obtener información sobre el canal de entrega**  
El comando siguiente devuelve información detallada sobre el canal de entrega:  

```
aws configservice describe-delivery-channels
```
Salida:  

```
{
    "DeliveryChannels": [
        {
            "snsTopicARN": "arn:aws:sns:us-east-1:123456789012:config-topic",
            "name": "default",
            "s3BucketName": "config-bucket-123456789012"
        }
    ]
}
```
+  Para obtener detalles sobre la API, consulte [DescribeDeliveryChannels](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-delivery-channels.html) en la *Referencia de comandos de la AWS CLI*. 

### `get-compliance-details-by-config-rule`
<a name="config-service_GetComplianceDetailsByConfigRule_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `get-compliance-details-by-config-rule`.

**AWS CLI**  
**Obtención de los resultados de la evaluación de una regla de AWS Config**  
El siguiente comando devuelve los resultados de la evaluación de todos los recursos que no cumplan con una regla de AWS Config denominada `InstanceTypesAreT2micro`:  

```
aws configservice get-compliance-details-by-config-rule --config-rule-name InstanceTypesAreT2micro --compliance-types NON_COMPLIANT
```
Salida:  

```
{
    "EvaluationResults": [
        {
            "EvaluationResultIdentifier": {
                "OrderingTimestamp": 1450314635.065,
                "EvaluationResultQualifier": {
                    "ResourceType": "AWS::EC2::Instance",
                    "ResourceId": "i-1a2b3c4d",
                    "ConfigRuleName": "InstanceTypesAreT2micro"
                }
            },
            "ResultRecordedTime": 1450314645.261,
            "ConfigRuleInvokedTime": 1450314642.948,
            "ComplianceType": "NON_COMPLIANT"
        },
        {
            "EvaluationResultIdentifier": {
                "OrderingTimestamp": 1450314635.065,
                "EvaluationResultQualifier": {
                    "ResourceType": "AWS::EC2::Instance",
                    "ResourceId": "i-2a2b3c4d",
                    "ConfigRuleName": "InstanceTypesAreT2micro"
                }
            },
            "ResultRecordedTime": 1450314645.18,
            "ConfigRuleInvokedTime": 1450314642.902,
            "ComplianceType": "NON_COMPLIANT"
        },
        {
            "EvaluationResultIdentifier": {
                "OrderingTimestamp": 1450314635.065,
                "EvaluationResultQualifier": {
                    "ResourceType": "AWS::EC2::Instance",
                    "ResourceId": "i-3a2b3c4d",
                    "ConfigRuleName": "InstanceTypesAreT2micro"
                }
            },
            "ResultRecordedTime": 1450314643.346,
            "ConfigRuleInvokedTime": 1450314643.124,
            "ComplianceType": "NON_COMPLIANT"
        }
    ]
}
```
+  Para obtener detalles sobre la API, consulte [GetComplianceDetailsByConfigRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/get-compliance-details-by-config-rule.html) en la *Referencia de comandos de la AWS CLI*. 

### `get-compliance-details-by-resource`
<a name="config-service_GetComplianceDetailsByResource_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `get-compliance-details-by-resource`.

**AWS CLI**  
**Obtención de los resultados de la evaluación de un recurso de AWS**  
El siguiente comando devuelve los resultados de la evaluación para cada regla infringida por la instancia de EC2 `i-1a2b3c4d`:  

```
aws configservice get-compliance-details-by-resource --resource-type AWS::EC2::Instance --resource-id i-1a2b3c4d --compliance-types NON_COMPLIANT
```
Salida:  

```
{
    "EvaluationResults": [
        {
            "EvaluationResultIdentifier": {
                "OrderingTimestamp": 1450314635.065,
                "EvaluationResultQualifier": {
                    "ResourceType": "AWS::EC2::Instance",
                    "ResourceId": "i-1a2b3c4d",
                    "ConfigRuleName": "InstanceTypesAreT2micro"
                }
            },
            "ResultRecordedTime": 1450314643.288,
            "ConfigRuleInvokedTime": 1450314643.034,
            "ComplianceType": "NON_COMPLIANT"
        },
        {
            "EvaluationResultIdentifier": {
                "OrderingTimestamp": 1450314635.065,
                "EvaluationResultQualifier": {
                    "ResourceType": "AWS::EC2::Instance",
                    "ResourceId": "i-1a2b3c4d",
                    "ConfigRuleName": "RequiredTagForEC2Instances"
                }
            },
            "ResultRecordedTime": 1450314645.261,
            "ConfigRuleInvokedTime": 1450314642.948,
            "ComplianceType": "NON_COMPLIANT"
        }
    ]
}
```
+  Para obtener detalles sobre la API, consulte [GetComplianceDetailsByResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/get-compliance-details-by-resource.html) en la *Referencia de comandos de la AWS CLI*. 

### `get-compliance-summary-by-config-rule`
<a name="config-service_GetComplianceSummaryByConfigRule_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `get-compliance-summary-by-config-rule`.

**AWS CLI**  
**Obtención de un resumen de la conformidad de sus reglas de AWS Config**  
El comando siguiente devuelve el número de reglas conformes y el de las reglas no conformes:  

```
aws configservice get-compliance-summary-by-config-rule
```
En el resultado, el valor de cada atributo `CappedCount` indica el número de reglas conformes o no conformes.  
Salida:  

```
{
    "ComplianceSummary": {
        "NonCompliantResourceCount": {
            "CappedCount": 3,
            "CapExceeded": false
        },
        "ComplianceSummaryTimestamp": 1452204131.493,
        "CompliantResourceCount": {
            "CappedCount": 2,
            "CapExceeded": false
        }
    }
}
```
+  Para obtener detalles sobre la API, consulte [GetComplianceSummaryByConfigRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/get-compliance-summary-by-config-rule.html) en la *Referencia de comandos de la AWS CLI*. 

### `get-compliance-summary-by-resource-type`
<a name="config-service_GetComplianceSummaryByResourceType_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `get-compliance-summary-by-resource-type`.

**AWS CLI**  
**Para obtener el resumen de conformidad para todos los tipos de recursos**  
El comando siguiente devuelve el número de recursos de AWS no conformes y el número de los conformes:  

```
aws configservice get-compliance-summary-by-resource-type
```
En el resultado, el valor de cada atributo `CappedCount` indica el número de recursos conformes y el de no conformes.  
Salida:  

```
{
    "ComplianceSummariesByResourceType": [
        {
            "ComplianceSummary": {
                "NonCompliantResourceCount": {
                    "CappedCount": 16,
                    "CapExceeded": false
                },
                "ComplianceSummaryTimestamp": 1453237464.543,
                "CompliantResourceCount": {
                    "CappedCount": 10,
                    "CapExceeded": false
                }
            }
        }
    ]
}
```
**Obtención del resumen de conformidad de un tipo de recurso específico**  
El comando siguiente devuelve el número de instancias de EC2 no conformes y el número de las conformes:  

```
aws configservice get-compliance-summary-by-resource-type --resource-types AWS::EC2::Instance
```
En el resultado, el valor de cada atributo `CappedCount` indica el número de recursos conformes y el de no conformes.  
Salida:  

```
{
    "ComplianceSummariesByResourceType": [
        {
            "ResourceType": "AWS::EC2::Instance",
            "ComplianceSummary": {
                "NonCompliantResourceCount": {
                    "CappedCount": 3,
                    "CapExceeded": false
                },
                "ComplianceSummaryTimestamp": 1452204923.518,
                "CompliantResourceCount": {
                    "CappedCount": 7,
                    "CapExceeded": false
                }
            }
        }
    ]
}
```
+  Para obtener detalles sobre la API, consulte [GetComplianceSummaryByResourceType](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/get-compliance-summary-by-resource-type.html) en la *Referencia de comandos de la AWS CLI*. 

### `get-resource-config-history`
<a name="config-service_GetResourceConfigHistory_cli_topic"></a>

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

**AWS CLI**  
**Obtención del historial de configuración de un recurso de AWS**  
El comando siguiente devuelve una lista de los elementos de configuración de una instancia de EC2 con un ID de `i-1a2b3c4d`:  

```
aws configservice get-resource-config-history --resource-type AWS::EC2::Instance --resource-id i-1a2b3c4d
```
+  Para obtener detalles sobre la API, consulte [GetResourceConfigHistory](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/get-resource-config-history.html) en la *Referencia de comandos de la AWS CLI*. 

### `get-status`
<a name="config-service_GetStatus_cli_topic"></a>

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

**AWS CLI**  
**Obtención del estado de AWS Config**  
El comando siguiente devuelve el estado del canal de entrega y el registro de configuración:  

```
aws configservice get-status
```
Salida:  

```
Configuration Recorders:

name: default
recorder: ON
last status: SUCCESS

Delivery Channels:

name: default
last stream delivery status: SUCCESS
last history delivery status: SUCCESS
last snapshot delivery status: SUCCESS
```
+  Para obtener detalles sobre la API, consulte [GetStatus](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/get-status.html) en la *Referencia de comandos de la AWS CLI*. 

### `list-discovered-resources`
<a name="config-service_ListDiscoveredResources_cli_topic"></a>

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

**AWS CLI**  
**Para enumerar los recursos que AWS Config ha detectado**  
El siguiente comando muestra las instancias de EC2 que AWS Config ha detectado:  

```
aws configservice list-discovered-resources --resource-type AWS::EC2::Instance
```
Salida:  

```
{
    "resourceIdentifiers": [
        {
            "resourceType": "AWS::EC2::Instance",
            "resourceId": "i-1a2b3c4d"
        },
        {
            "resourceType": "AWS::EC2::Instance",
            "resourceId": "i-2a2b3c4d"
        },
        {
            "resourceType": "AWS::EC2::Instance",
            "resourceId": "i-3a2b3c4d"
        }
    ]
}
```
+  Para obtener detalles sobre la API, consulte [ListDiscoveredResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/list-discovered-resources.html) en la *Referencia de comandos de la AWS CLI*. 

### `put-config-rule`
<a name="config-service_PutConfigRule_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `put-config-rule`.

**AWS CLI**  
**Adición de una regla de configuración administrada por AWS**  
En el siguiente comando se proporciona un código JSON para añadir una regla de configuración administrada por AWS:  

```
aws configservice put-config-rule --config-rule file://RequiredTagsForEC2Instances.json
```
`RequiredTagsForEC2Instances.json` es un archivo JSON que contiene la configuración de la regla:  

```
{
  "ConfigRuleName": "RequiredTagsForEC2Instances",
  "Description": "Checks whether the CostCenter and Owner tags are applied to EC2 instances.",
  "Scope": {
    "ComplianceResourceTypes": [
      "AWS::EC2::Instance"
    ]
  },
  "Source": {
    "Owner": "AWS",
    "SourceIdentifier": "REQUIRED_TAGS"
  },
  "InputParameters": "{\"tag1Key\":\"CostCenter\",\"tag2Key\":\"Owner\"}"
}
```
Para el atributo `ComplianceResourceTypes`, este código JSON limita el alcance a los recursos del tipo `AWS::EC2::Instance`, por lo que AWS Config evaluará solo las instancias EC2 con respecto a la regla. Puesto que la regla es una regla administrada, el atributo `Owner` se establece en `AWS` y el atributo `SourceIdentifier` en el identificador de la regla, `REQUIRED_TAGS`. Para el atributo `InputParameters`, se especifican las claves de etiqueta que requiere la regla, `CostCenter` y `Owner`.  
Si el comando se ejecuta correctamente, la configuración de AWS no devuelve salida. Para verificar la configuración de la regla, ejecute el comando describe-config-rules y especifique el nombre de la regla.  
**Adición de una regla de configuración administrada por el cliente**  
En el siguiente comando se proporciona un código JSON para añadir una regla de configuración administrada por el cliente:  

```
aws configservice put-config-rule --config-rule file://InstanceTypesAreT2micro.json
```
`InstanceTypesAreT2micro.json` es un archivo JSON que contiene la configuración de la regla:  

```
{
  "ConfigRuleName": "InstanceTypesAreT2micro",
  "Description": "Evaluates whether EC2 instances are the t2.micro type.",
  "Scope": {
    "ComplianceResourceTypes": [
      "AWS::EC2::Instance"
    ]
  },
  "Source": {
    "Owner": "CUSTOM_LAMBDA",
    "SourceIdentifier": "arn:aws:lambda:us-east-1:123456789012:function:InstanceTypeCheck",
    "SourceDetails": [
      {
        "EventSource": "aws.config",
        "MessageType": "ConfigurationItemChangeNotification"
      }
    ]
  },
  "InputParameters": "{\"desiredInstanceType\":\"t2.micro\"}"
}
```
Para el atributo `ComplianceResourceTypes`, este código JSON limita el alcance a los recursos del tipo `AWS::EC2::Instance`, por lo que AWS Config evaluará solo las instancias EC2 con respecto a la regla. Puesto que esta regla es una regla administrada por el cliente, el atributo `Owner` se establece en `CUSTOM_LAMBDA` y el atributo `SourceIdentifier` se establece en el ARN de la función de Lambda AWS. El objeto `SourceDetails` es obligatorio. Los parámetros que se especifican para el atributo `InputParameters` se pasan a la función de Lambda AWS cuando AWS Config la invoca para evaluar los recursos conforme a la regla.  
Si el comando se ejecuta correctamente, la configuración de AWS no devuelve salida. Para verificar la configuración de la regla, ejecute el comando describe-config-rules y especifique el nombre de la regla.  
+  Para obtener información acerca de la API, consulte [PutConfigRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/put-config-rule.html) en la *Referencia de comandos de la AWS CLI*. 

### `put-configuration-recorder`
<a name="config-service_PutConfigurationRecorder_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `put-configuration-recorder`.

**AWS CLI**  
**Ejemplo 1: registro de todos los recursos compatibles**  
El siguiente comando crea un registro de configuración que rastrea los cambios en todos los tipos de recursos compatibles, incluidos los tipos de recursos globales:  

```
aws configservice put-configuration-recorder \
    --configuration-recorder name=default,roleARN=arn:aws:iam::123456789012:role/config-role \
    --recording-group allSupported=true,includeGlobalResourceTypes=true
```
Si el comando se ejecuta correctamente, la configuración de AWS no devuelve salida. Para comprobar los ajustes del registro de configuración, ejecute el comando describe-configuration-recorders.  
**Ejemplo 2: Registro de tipos específicos de recursos**  
El siguiente comando crea un registro de configuración que rastrea los cambios realizados únicamente en los tipos de recursos que se especifican en el archivo JSON para la opción --recording-group:  

```
aws configservice put-configuration-recorder \
    --configuration-recorder name=default,roleARN=arn:aws:iam::123456789012:role/config-role \
    --recording-group file://recordingGroup.json
```
RecordingGroup.json es un archivo JSON que especifica los tipos de recursos que AWS Config registrará:  

```
{
    "allSupported": false,
    "includeGlobalResourceTypes": false,
    "resourceTypes": [
        "AWS::EC2::EIP",
        "AWS::EC2::Instance",
        "AWS::EC2::NetworkAcl",
        "AWS::EC2::SecurityGroup",
        "AWS::CloudTrail::Trail",
        "AWS::EC2::Volume",
        "AWS::EC2::VPC",
        "AWS::IAM::User",
        "AWS::IAM::Policy"
    ]
}
```
Antes de poder especificar tipos de recursos para la clave resourceTypes, tendrá que ajustar las opciones allSupported e includeGlobalResourceTypes en falso u omitirlas.  
Si el comando se ejecuta correctamente, la configuración de AWS no devuelve salida. Para comprobar los ajustes del registro de configuración, ejecute el comando describe-configuration-recorders.  
**Ejemplo 3: selección de todos los recursos compatibles, excepto los tipos específicos de recursos**  
El siguiente comando crea un registro de configuración que rastrea los cambios realizados en todos los tipos de recursos compatibles actuales y futuros, excepto aquellos tipos de recursos que se especifican en el archivo JSON para la opción --recording-group:  

```
aws configservice put-configuration-recorder \
    --configuration-recorder name=default,roleARN=arn:aws:iam::123456789012:role/config-role \
    --recording-group file://recordingGroup.json
```
RecordingGroup.json es un archivo JSON que especifica los tipos de recursos que AWS Config registrará:  

```
{
    "allSupported": false,
    "exclusionByResourceTypes": {
        "resourceTypes": [
        "AWS::Redshift::ClusterSnapshot",
        "AWS::RDS::DBClusterSnapshot",
        "AWS::CloudFront::StreamingDistribution"
    ]
    },
        "includeGlobalResourceTypes": false,
        "recordingStrategy": {
        "useOnly": "EXCLUSION_BY_RESOURCE_TYPES"
    },
}
```
Para poder especificar los tipos de recursos para excluirlos de la grabación: 1) Debe configurar las opciones allSupported e includeGlobalResourceTypes en false u omitirlas, y 2) Debe establecer el campo useOnly de RecordingStrategy en EXCLUSION\$1BY\$1RESOURCE\$1TYPES.  
Si el comando se ejecuta correctamente, la configuración de AWS no devuelve salida. Para comprobar los ajustes del registro de configuración, ejecute el comando describe-configuration-recorders.  
+  Para obtener detalles sobre la API, consulte [PutConfigurationRecorder](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/put-configuration-recorder.html) en la *Referencia de comandos de la AWS CLI*. 

### `put-delivery-channel`
<a name="config-service_PutDeliveryChannel_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `put-delivery-channel`.

**AWS CLI**  
**Creación de un canal de entrega**  
El siguiente comando proporciona la configuración del canal de entrega en forma de código JSON:  

```
aws configservice put-delivery-channel --delivery-channel file://deliveryChannel.json
```
El archivo `deliveryChannel.json` especifica los atributos del canal de entrega:  

```
{
    "name": "default",
    "s3BucketName": "config-bucket-123456789012",
    "snsTopicARN": "arn:aws:sns:us-east-1:123456789012:config-topic",
    "configSnapshotDeliveryProperties": {
        "deliveryFrequency": "Twelve_Hours"
    }
}
```
Este ejemplo establece los siguientes atributos:  
`name`: El nombre del canal de entrega. De forma predeterminada, AWS Config asigna el nombre `default` a un nuevo canal de entrega. No puede actualizar el nombre del canal de entrega con el comando `put-delivery-channel`. Si desea saber cuáles son los pasos para cambiar el nombre, consulte Renaming the Delivery Channel. `s3BucketName`: - El nombre del bucket de Amazon S3 al que AWS Config entrega instantáneas de configuración y los archivos de historial de configuración. Si especifica un bucket que pertenece a otra cuenta de AWS, dicho bucket debe tener políticas que concedan permisos de acceso a AWS Config. Para obtener más información, consulte Permisos para el bucket de Amazon S3.  
`snsTopicARN` - El nombre de recurso de Amazon (ARN) del tema de Amazon SNS al que AWS Config envía notificaciones sobre los cambios de configuración. Si elige un tema de otra cuenta, el tema debe tener políticas que concedan permisos de acceso a AWS Config. Para obtener más información, consulte Permissions for the Amazon SNS Topic.  
`configSnapshotDeliveryProperties` - Contiene el atributo `deliveryFrequency`, que establece la frecuencia con la que AWS Config entrega instantáneas de la configuración y con la que invoca las evaluaciones de las reglas de Config periódicas.  
Si el comando se ejecuta correctamente, la configuración de AWS no devuelve salida. Para verificar la configuración de su canal de entrega, ejecute el comando describe-delivery-channels.  
+  Para obtener detalles sobre la API, consulte [PutDeliveryChannel](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/put-delivery-channel.html) en la *Referencia de comandos de la AWS CLI*. 

### `start-config-rules-evaluation`
<a name="config-service_StartConfigRulesEvaluation_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `start-config-rules-evaluation`.

**AWS CLI**  
**Ejecución de una evaluación bajo demanda de las reglas de AWS Config**  
El siguiente comando inicia una evaluación de dos reglas AWS administradas:  

```
aws configservice start-config-rules-evaluation --config-rule-names s3-bucket-versioning-enabled cloudtrail-enabled
```
+  Para obtener detalles sobre la API, consulte [StartConfigRulesEvaluation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/start-config-rules-evaluation.html) en la *Referencia de comandos de la AWS CLI*. 

### `start-configuration-recorder`
<a name="config-service_StartConfigurationRecorder_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `start-configuration-recorder`.

**AWS CLI**  
**Inicio del registro de configuración**  
El comando siguiente inicia el registro de configuración predeterminado:  

```
aws configservice start-configuration-recorder --configuration-recorder-name default
```
Si el comando se ejecuta correctamente, la configuración de AWS no devuelve salida. Para comprobar que AWS Config está registrando sus recursos, ejecute el comando get-status.  
+  Para obtener detalles sobre la API, consulte [StartConfigurationRecorder](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/start-configuration-recorder.html) en la *Referencia de comandos de la AWS CLI*. 

### `stop-configuration-recorder`
<a name="config-service_StopConfigurationRecorder_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `stop-configuration-recorder`.

**AWS CLI**  
**Detención del registro de configuración**  
El comando siguiente detiene el registro de configuración predeterminado:  

```
aws configservice stop-configuration-recorder --configuration-recorder-name default
```
Si el comando se ejecuta correctamente, la configuración de AWS no devuelve salida. Para comprobar que AWS Config no está registrando sus recursos, ejecute el comando get-status.  
+  Para obtener detalles sobre la API, consulte [StopConfigurationRecorder](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/stop-configuration-recorder.html) en la *Referencia de comandos de la AWS CLI*. 

### `subscribe`
<a name="config-service_Subscribe_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `subscribe`.

**AWS CLI**  
**Suscripción a AWS Config**  
El comando siguiente crea el canal de entrega y el registro de configuración predeterminados: El comando también especifica el bucket de Amazon S3 y el tema de Amazon SNS a los que AWS Config entregará la información de configuración:  

```
aws configservice subscribe --s3-bucket config-bucket-123456789012 --sns-topic arn:aws:sns:us-east-1:123456789012:config-topic --iam-role arn:aws:iam::123456789012:role/ConfigRole-A1B2C3D4E5F6
```
Salida:  

```
Using existing S3 bucket: config-bucket-123456789012
Using existing SNS topic: arn:aws:sns:us-east-1:123456789012:config-topic
Subscribe succeeded:

Configuration Recorders: [
    {
        "recordingGroup": {
            "allSupported": true,
            "resourceTypes": [],
            "includeGlobalResourceTypes": false
        },
        "roleARN": "arn:aws:iam::123456789012:role/ConfigRole-A1B2C3D4E5F6",
        "name": "default"
    }
]

Delivery Channels: [
    {
        "snsTopicARN": "arn:aws:sns:us-east-1:123456789012:config-topic",
        "name": "default",
        "s3BucketName": "config-bucket-123456789012"
    }
]
```
+  Para obtener detalles sobre la API, consulte [Subscribe](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/subscribe.html) en la *Referencia de comandos de la AWS CLI*. 