

Doc AWS SDK Examples GitHub リポジトリには、他にも SDK の例があります。 [AWS](https://github.com/awsdocs/aws-doc-sdk-examples)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS SDKs AWS Config を使用するためのコード例
<a name="config-service_code_examples"></a>

次のコード例は、 AWS Software Development Kit (SDK) AWS Config で を使用する方法を示しています。

*アクション*はより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

**その他のリソース**
+  **[AWS Config デベロッパーガイド](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html)** – の詳細 AWS Config。
+ **[AWS Config API リファレンス](https://docs.aws.amazon.com/config/latest/APIReference/Welcome.html)** – 使用可能なすべての AWS Config アクションに関する詳細。
+ **[AWS デベロッパーセンター](https://aws.amazon.com/developer/code-examples/?awsf.sdk-code-examples-product=product%23config)** – カテゴリまたは全文検索でフィルタリングできるコード例。
+ **[AWS SDK の例](https://github.com/awsdocs/aws-doc-sdk-examples)** – 任意の言語で完全なコードを持つ GitHub リポジトリ。コードの設定と実行に関する説明が記載されています。

**Contents**
+ [基本](config-service_code_examples_basics.md)
  + [アクション](config-service_code_examples_actions.md)
    + [`DeleteConfigRule`](config-service_example_config-service_DeleteConfigRule_section.md)
    + [`DescribeComplianceByConfigRule`](config-service_example_config-service_DescribeComplianceByConfigRule_section.md)
    + [`DescribeComplianceByResource`](config-service_example_config-service_DescribeComplianceByResource_section.md)
    + [`DescribeConfigRuleEvaluationStatus`](config-service_example_config-service_DescribeConfigRuleEvaluationStatus_section.md)
    + [`DescribeConfigRules`](config-service_example_config-service_DescribeConfigRules_section.md)
    + [`DescribeConfigurationRecorderStatus`](config-service_example_config-service_DescribeConfigurationRecorderStatus_section.md)
    + [`DescribeConfigurationRecorders`](config-service_example_config-service_DescribeConfigurationRecorders_section.md)
    + [`DescribeDeliveryChannels`](config-service_example_config-service_DescribeDeliveryChannels_section.md)
    + [`GetComplianceDetailsByConfigRule`](config-service_example_config-service_GetComplianceDetailsByConfigRule_section.md)
    + [`GetComplianceDetailsByResource`](config-service_example_config-service_GetComplianceDetailsByResource_section.md)
    + [`GetComplianceSummaryByConfigRule`](config-service_example_config-service_GetComplianceSummaryByConfigRule_section.md)
    + [`GetComplianceSummaryByResourceType`](config-service_example_config-service_GetComplianceSummaryByResourceType_section.md)
    + [`PutConfigRule`](config-service_example_config-service_PutConfigRule_section.md)
    + [`PutDeliveryChannel`](config-service_example_config-service_PutDeliveryChannel_section.md)

# AWS SDKs AWS Config を使用するための基本的な例
<a name="config-service_code_examples_basics"></a>

次のコード例は、 SDKs AWS Config で AWS の基本を使用する方法を示しています。

**Contents**
+ [アクション](config-service_code_examples_actions.md)
  + [`DeleteConfigRule`](config-service_example_config-service_DeleteConfigRule_section.md)
  + [`DescribeComplianceByConfigRule`](config-service_example_config-service_DescribeComplianceByConfigRule_section.md)
  + [`DescribeComplianceByResource`](config-service_example_config-service_DescribeComplianceByResource_section.md)
  + [`DescribeConfigRuleEvaluationStatus`](config-service_example_config-service_DescribeConfigRuleEvaluationStatus_section.md)
  + [`DescribeConfigRules`](config-service_example_config-service_DescribeConfigRules_section.md)
  + [`DescribeConfigurationRecorderStatus`](config-service_example_config-service_DescribeConfigurationRecorderStatus_section.md)
  + [`DescribeConfigurationRecorders`](config-service_example_config-service_DescribeConfigurationRecorders_section.md)
  + [`DescribeDeliveryChannels`](config-service_example_config-service_DescribeDeliveryChannels_section.md)
  + [`GetComplianceDetailsByConfigRule`](config-service_example_config-service_GetComplianceDetailsByConfigRule_section.md)
  + [`GetComplianceDetailsByResource`](config-service_example_config-service_GetComplianceDetailsByResource_section.md)
  + [`GetComplianceSummaryByConfigRule`](config-service_example_config-service_GetComplianceSummaryByConfigRule_section.md)
  + [`GetComplianceSummaryByResourceType`](config-service_example_config-service_GetComplianceSummaryByResourceType_section.md)
  + [`PutConfigRule`](config-service_example_config-service_PutConfigRule_section.md)
  + [`PutDeliveryChannel`](config-service_example_config-service_PutDeliveryChannel_section.md)

# AWS SDKs AWS Config を使用するためのアクション
<a name="config-service_code_examples_actions"></a>

次のコード例は、 AWS SDKs で個々の AWS Config アクションを実行する方法を示しています。それぞれの例には、GitHub へのリンクがあり、そこにはコードの設定と実行に関する説明が記載されています。

 以下の例には、最も一般的に使用されるアクションのみ含まれています。詳細な一覧については、「[AWS Config API リファレンス](https://docs.aws.amazon.com/config/latest/APIReference/Welcome.html)」を参照してください。

**Topics**
+ [`DeleteConfigRule`](config-service_example_config-service_DeleteConfigRule_section.md)
+ [`DescribeComplianceByConfigRule`](config-service_example_config-service_DescribeComplianceByConfigRule_section.md)
+ [`DescribeComplianceByResource`](config-service_example_config-service_DescribeComplianceByResource_section.md)
+ [`DescribeConfigRuleEvaluationStatus`](config-service_example_config-service_DescribeConfigRuleEvaluationStatus_section.md)
+ [`DescribeConfigRules`](config-service_example_config-service_DescribeConfigRules_section.md)
+ [`DescribeConfigurationRecorderStatus`](config-service_example_config-service_DescribeConfigurationRecorderStatus_section.md)
+ [`DescribeConfigurationRecorders`](config-service_example_config-service_DescribeConfigurationRecorders_section.md)
+ [`DescribeDeliveryChannels`](config-service_example_config-service_DescribeDeliveryChannels_section.md)
+ [`GetComplianceDetailsByConfigRule`](config-service_example_config-service_GetComplianceDetailsByConfigRule_section.md)
+ [`GetComplianceDetailsByResource`](config-service_example_config-service_GetComplianceDetailsByResource_section.md)
+ [`GetComplianceSummaryByConfigRule`](config-service_example_config-service_GetComplianceSummaryByConfigRule_section.md)
+ [`GetComplianceSummaryByResourceType`](config-service_example_config-service_GetComplianceSummaryByResourceType_section.md)
+ [`PutConfigRule`](config-service_example_config-service_PutConfigRule_section.md)
+ [`PutDeliveryChannel`](config-service_example_config-service_PutDeliveryChannel_section.md)

# AWS SDK または CLI `DeleteConfigRule`で を使用する
<a name="config-service_example_config-service_DeleteConfigRule_section"></a>

次のサンプルコードは、`DeleteConfigRule` を使用する方法を説明しています。

------
#### [ CLI ]

**AWS CLI**  
**Config AWS ルールを削除するには**  
次のコマンドは、 という名前 AWS の Config ルールを削除します`MyConfigRule`。  

```
aws configservice delete-config-rule --config-rule-name MyConfigRule
```
+  API の詳細については、AWS CLI コマンドリファレンスの「[DeleteConfigRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/delete-config-rule.html)」を参照してください。**

------
#### [ Python ]

**SDK for Python (Boto3)**  
 GitHub には、その他のリソースもあります。用例一覧を検索し、[AWS コード例リポジトリ](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/config#code-examples)での設定と実行の方法を確認してください。

```
class ConfigWrapper:
    """
    Encapsulates AWS Config functions.
    """

    def __init__(self, config_client):
        """
        :param config_client: A Boto3 AWS Config client.
        """
        self.config_client = config_client


    def delete_config_rule(self, rule_name):
        """
        Delete the specified rule.

        :param rule_name: The name of the rule to delete.
        """
        try:
            self.config_client.delete_config_rule(ConfigRuleName=rule_name)
            logger.info("Deleted rule %s.", rule_name)
        except ClientError:
            logger.exception("Couldn't delete rule %s.", rule_name)
            raise
```
+  API の詳細については、「*AWS SDK for Python (Boto3) API リファレンス*」の「[DeleteConfigRule](https://docs.aws.amazon.com/goto/boto3/config-2014-11-12/DeleteConfigRule)」を参照してください。

------
#### [ SAP ABAP ]

**SDK for SAP ABAP**  
 GitHub には、その他のリソースもあります。用例一覧を検索し、[AWS コード例リポジトリ](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/cfs#code-examples)での設定と実行の方法を確認してください。

```
    lo_cfs->deleteconfigrule( iv_rule_name ).
    MESSAGE 'Deleted AWS Config rule.' TYPE 'I'.
```
+  API の詳細については、 *AWS SDK for SAP ABAP API リファレンス*の[DeleteConfigRule](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)」を参照してください。

------

# CLI で `DescribeComplianceByConfigRule` を使用する
<a name="config-service_example_config-service_DescribeComplianceByConfigRule_section"></a>

次のサンプルコードは、`DescribeComplianceByConfigRule` を使用する方法を説明しています。

------
#### [ CLI ]

**AWS CLI**  
**Config AWS ルールのコンプライアンス情報を取得するには**  
次のコマンドは、1 つ以上の AWS リソースによって違反された各 AWS Config ルールのコンプライアンス情報を返します。  

```
aws configservice describe-compliance-by-config-rule --compliance-types NON_COMPLIANT
```
出力では、各 `CappedCount` 属性の値は、関連するルールに準拠していないリソースの数を示します。例えば、次の出力は、3 つのリソースが `InstanceTypesAreT2micro` という名前のルールに準拠していないことを示しています。  
出力:  

```
{
    "ComplianceByConfigRules": [
        {
            "Compliance": {
                "ComplianceContributorCount": {
                    "CappedCount": 3,
                    "CapExceeded": false
                },
                "ComplianceType": "NON_COMPLIANT"
            },
            "ConfigRuleName": "InstanceTypesAreT2micro"
        },
        {
            "Compliance": {
                "ComplianceContributorCount": {
                    "CappedCount": 10,
                    "CapExceeded": false
                },
                "ComplianceType": "NON_COMPLIANT"
            },
            "ConfigRuleName": "RequiredTagsForVolumes"
        }
    ]
}
```
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[DescribeComplianceByConfigRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-compliance-by-config-rule.html)」を参照してください。

------
#### [ PowerShell ]

**Tools for PowerShell V4**  
**例 1: この例では、ルールの現在の評価結果がないため、INSUFFICIENT\$1DATA が返されるルール ebs-optimized-instance のコンプライアンスの詳細を取得します。**  

```
(Get-CFGComplianceByConfigRule -ConfigRuleName ebs-optimized-instance).Compliance
```
**出力:**  

```
ComplianceContributorCount ComplianceType
-------------------------- --------------
                           INSUFFICIENT_DATA
```
**例 2: この例では、ルール ALB\$1HTTP\$1TO\$1HTTPS\$1REDIRECTION\$1CHECK の非準拠リソースの数を返します。**  

```
(Get-CFGComplianceByConfigRule -ConfigRuleName ALB_HTTP_TO_HTTPS_REDIRECTION_CHECK -ComplianceType NON_COMPLIANT).Compliance.ComplianceContributorCount
```
**出力:**  

```
CapExceeded CappedCount
----------- -----------
False       2
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V4)*」の「[DescribeComplianceByConfigRule](https://docs.aws.amazon.com/powershell/v4/reference)」を参照してください。

**Tools for PowerShell V5**  
**例 1: この例では、ルールの現在の評価結果がないため、INSUFFICIENT\$1DATA が返されるルール ebs-optimized-instance のコンプライアンスの詳細を取得します。**  

```
(Get-CFGComplianceByConfigRule -ConfigRuleName ebs-optimized-instance).Compliance
```
**出力:**  

```
ComplianceContributorCount ComplianceType
-------------------------- --------------
                           INSUFFICIENT_DATA
```
**例 2: この例では、ルール ALB\$1HTTP\$1TO\$1HTTPS\$1REDIRECTION\$1CHECK の非準拠リソースの数を返します。**  

```
(Get-CFGComplianceByConfigRule -ConfigRuleName ALB_HTTP_TO_HTTPS_REDIRECTION_CHECK -ComplianceType NON_COMPLIANT).Compliance.ComplianceContributorCount
```
**出力:**  

```
CapExceeded CappedCount
----------- -----------
False       2
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V5)*」の「[DescribeComplianceByConfigRule](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

------

# CLI で `DescribeComplianceByResource` を使用する
<a name="config-service_example_config-service_DescribeComplianceByResource_section"></a>

次のサンプルコードは、`DescribeComplianceByResource` を使用する方法を説明しています。

------
#### [ CLI ]

**AWS CLI**  
** AWS リソースのコンプライアンス情報を取得するには**  
次のコマンドは、Config によって記録され、1 つ以上のルールに違反する各 EC2 AWS インスタンスのコンプライアンス情報を返します。  

```
aws configservice describe-compliance-by-resource --resource-type AWS::EC2::Instance --compliance-types NON_COMPLIANT
```
出力では、各 `CappedCount` 属性の値は、リソースが違反するルールの数を示します。例えば、次の出力は、インスタンス `i-1a2b3c4d` が 2 つのルールに違反していることを示しています。  
出力:  

```
{
    "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"
            }
        }
    ]
}
```
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[DescribeComplianceByResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-compliance-by-resource.html)」を参照してください。

------
#### [ PowerShell ]

**Tools for PowerShell V4**  
**例 1: この例では、「COMPLIANT」コンプライアンスタイプの `AWS::SSM::ManagedInstanceInventory` リソースタイプを確認します。**  

```
Get-CFGComplianceByResource -ComplianceType COMPLIANT -ResourceType AWS::SSM::ManagedInstanceInventory
```
**出力:**  

```
Compliance                            ResourceId          ResourceType
----------                            ----------          ------------
Amazon.ConfigService.Model.Compliance i-0123bcf4b567890e3 AWS::SSM::ManagedInstanceInventory
Amazon.ConfigService.Model.Compliance i-0a1234f6f5d6b78f7 AWS::SSM::ManagedInstanceInventory
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V4)*」の「[DescribeComplianceByResource](https://docs.aws.amazon.com/powershell/v4/reference)」を参照してください。

**Tools for PowerShell V5**  
**例 1: この例では、「COMPLIANT」コンプライアンスタイプの `AWS::SSM::ManagedInstanceInventory` リソースタイプを確認します。**  

```
Get-CFGComplianceByResource -ComplianceType COMPLIANT -ResourceType AWS::SSM::ManagedInstanceInventory
```
**出力:**  

```
Compliance                            ResourceId          ResourceType
----------                            ----------          ------------
Amazon.ConfigService.Model.Compliance i-0123bcf4b567890e3 AWS::SSM::ManagedInstanceInventory
Amazon.ConfigService.Model.Compliance i-0a1234f6f5d6b78f7 AWS::SSM::ManagedInstanceInventory
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V5)*」の「[DescribeComplianceByResource](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

------

# CLI で `DescribeConfigRuleEvaluationStatus` を使用する
<a name="config-service_example_config-service_DescribeConfigRuleEvaluationStatus_section"></a>

次のサンプルコードは、`DescribeConfigRuleEvaluationStatus` を使用する方法を説明しています。

------
#### [ CLI ]

**AWS CLI**  
**Config AWS ルールのステータス情報を取得するには**  
次のコマンドは、 という名前の AWS Config ルールのステータス情報を返します`MyConfigRule`。  

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

```
{
    "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"
        }
    ]
}
```
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[DescribeConfigRuleEvaluationStatus](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-config-rule-evaluation-status.html)」を参照してください。

------
#### [ PowerShell ]

**Tools for PowerShell V4**  
**例 1: このサンプルは、指定された設定ルールのステータス情報を返します。**  

```
Get-CFGConfigRuleEvaluationStatus -ConfigRuleName root-account-mfa-enabled, vpc-flow-logs-enabled
```
**出力:**  

```
ConfigRuleArn                : arn:aws:config:eu-west-1:123456789012:config-rule/config-rule-kvq1wk
ConfigRuleId                 : config-rule-kvq1wk
ConfigRuleName               : root-account-mfa-enabled
FirstActivatedTime           : 8/27/2019 8:05:17 AM
FirstEvaluationStarted       : True
LastErrorCode                :
LastErrorMessage             :
LastFailedEvaluationTime     : 1/1/0001 12:00:00 AM
LastFailedInvocationTime     : 1/1/0001 12:00:00 AM
LastSuccessfulEvaluationTime : 12/13/2019 8:12:03 AM
LastSuccessfulInvocationTime : 12/13/2019 8:12:03 AM

ConfigRuleArn                : arn:aws:config:eu-west-1:123456789012:config-rule/config-rule-z1s23b
ConfigRuleId                 : config-rule-z1s23b
ConfigRuleName               : vpc-flow-logs-enabled
FirstActivatedTime           : 8/14/2019 6:23:44 AM
FirstEvaluationStarted       : True
LastErrorCode                :
LastErrorMessage             :
LastFailedEvaluationTime     : 1/1/0001 12:00:00 AM
LastFailedInvocationTime     : 1/1/0001 12:00:00 AM
LastSuccessfulEvaluationTime : 12/13/2019 7:12:01 AM
LastSuccessfulInvocationTime : 12/13/2019 7:12:01 AM
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V4)*」の「[DescribeConfigRuleEvaluationStatus](https://docs.aws.amazon.com/powershell/v4/reference)」を参照してください。

**Tools for PowerShell V5**  
**例 1: このサンプルは、指定された設定ルールのステータス情報を返します。**  

```
Get-CFGConfigRuleEvaluationStatus -ConfigRuleName root-account-mfa-enabled, vpc-flow-logs-enabled
```
**出力:**  

```
ConfigRuleArn                : arn:aws:config:eu-west-1:123456789012:config-rule/config-rule-kvq1wk
ConfigRuleId                 : config-rule-kvq1wk
ConfigRuleName               : root-account-mfa-enabled
FirstActivatedTime           : 8/27/2019 8:05:17 AM
FirstEvaluationStarted       : True
LastErrorCode                :
LastErrorMessage             :
LastFailedEvaluationTime     : 1/1/0001 12:00:00 AM
LastFailedInvocationTime     : 1/1/0001 12:00:00 AM
LastSuccessfulEvaluationTime : 12/13/2019 8:12:03 AM
LastSuccessfulInvocationTime : 12/13/2019 8:12:03 AM

ConfigRuleArn                : arn:aws:config:eu-west-1:123456789012:config-rule/config-rule-z1s23b
ConfigRuleId                 : config-rule-z1s23b
ConfigRuleName               : vpc-flow-logs-enabled
FirstActivatedTime           : 8/14/2019 6:23:44 AM
FirstEvaluationStarted       : True
LastErrorCode                :
LastErrorMessage             :
LastFailedEvaluationTime     : 1/1/0001 12:00:00 AM
LastFailedInvocationTime     : 1/1/0001 12:00:00 AM
LastSuccessfulEvaluationTime : 12/13/2019 7:12:01 AM
LastSuccessfulInvocationTime : 12/13/2019 7:12:01 AM
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V5)*」の「[DescribeConfigRuleEvaluationStatus](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

------

# AWS SDK または CLI `DescribeConfigRules`で を使用する
<a name="config-service_example_config-service_DescribeConfigRules_section"></a>

次のサンプルコードは、`DescribeConfigRules` を使用する方法を説明しています。

------
#### [ CLI ]

**AWS CLI**  
**Config AWS ルールの詳細を取得するには**  
次のコマンドは、 という名前 AWS の Config ルールの詳細を返します`InstanceTypesAreT2micro`。  

```
aws configservice describe-config-rules --config-rule-names InstanceTypesAreT2micro
```
出力:  

```
{
    "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"
        }
    ]
}
```
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[DescribeConfigRules](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-config-rules.html)」を参照してください。

------
#### [ PowerShell ]

**Tools for PowerShell V4**  
**例 1: このサンプルは、選択したプロパティを持つアカウントの設定ルールを一覧表示します。**  

```
Get-CFGConfigRule | Select-Object ConfigRuleName, ConfigRuleId, ConfigRuleArn, ConfigRuleState
```
**出力:**  

```
ConfigRuleName                                    ConfigRuleId       ConfigRuleArn                                                        ConfigRuleState
--------------                                    ------------       -------------                                                        ---------------
ALB_REDIRECTION_CHECK                             config-rule-12iyn3 arn:aws:config-service:eu-west-1:123456789012:config-rule/config-rule-12iyn3 ACTIVE
access-keys-rotated                               config-rule-aospfr arn:aws:config-service:eu-west-1:123456789012:config-rule/config-rule-aospfr ACTIVE
autoscaling-group-elb-healthcheck-required        config-rule-cn1f2x arn:aws:config-service:eu-west-1:123456789012:config-rule/config-rule-cn1f2x ACTIVE
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V4)*」の「[DescribeConfigRules](https://docs.aws.amazon.com/powershell/v4/reference)」を参照してください。

**Tools for PowerShell V5**  
**例 1: このサンプルは、選択したプロパティを持つアカウントの設定ルールを一覧表示します。**  

```
Get-CFGConfigRule | Select-Object ConfigRuleName, ConfigRuleId, ConfigRuleArn, ConfigRuleState
```
**出力:**  

```
ConfigRuleName                                    ConfigRuleId       ConfigRuleArn                                                        ConfigRuleState
--------------                                    ------------       -------------                                                        ---------------
ALB_REDIRECTION_CHECK                             config-rule-12iyn3 arn:aws:config-service:eu-west-1:123456789012:config-rule/config-rule-12iyn3 ACTIVE
access-keys-rotated                               config-rule-aospfr arn:aws:config-service:eu-west-1:123456789012:config-rule/config-rule-aospfr ACTIVE
autoscaling-group-elb-healthcheck-required        config-rule-cn1f2x arn:aws:config-service:eu-west-1:123456789012:config-rule/config-rule-cn1f2x ACTIVE
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V5)*」の「[DescribeConfigRules](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

------
#### [ Python ]

**SDK for Python (Boto3)**  
 GitHub には、その他のリソースもあります。用例一覧を検索し、[AWS コード例リポジトリ](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/config#code-examples)での設定と実行の方法を確認してください。

```
class ConfigWrapper:
    """
    Encapsulates AWS Config functions.
    """

    def __init__(self, config_client):
        """
        :param config_client: A Boto3 AWS Config client.
        """
        self.config_client = config_client


    def describe_config_rule(self, rule_name):
        """
        Gets data for the specified rule.

        :param rule_name: The name of the rule to retrieve.
        :return: The rule data.
        """
        try:
            response = self.config_client.describe_config_rules(
                ConfigRuleNames=[rule_name]
            )
            rule = response["ConfigRules"]
            logger.info("Got data for rule %s.", rule_name)
        except ClientError:
            logger.exception("Couldn't get data for rule %s.", rule_name)
            raise
        else:
            return rule
```
+  API の詳細については、「*AWS SDK for Python (Boto3) API Reference*」の「[DescribeConfigRules](https://docs.aws.amazon.com/goto/boto3/config-2014-11-12/DescribeConfigRules)」を参照してください。

------
#### [ SAP ABAP ]

**SDK for SAP ABAP**  
 GitHub には、その他のリソースもあります。用例一覧を検索し、[AWS コード例リポジトリ](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/cfs#code-examples)での設定と実行の方法を確認してください。

```
    DATA(lo_result) = lo_cfs->describeconfigrules(
      it_configrulenames = VALUE /aws1/cl_cfsconfigrulenames_w=>tt_configrulenames(
        ( NEW /aws1/cl_cfsconfigrulenames_w( iv_rule_name ) )
      )
    ).
    ot_cfg_rules = lo_result->get_configrules( ).
    MESSAGE 'Retrieved AWS Config rule data.' TYPE 'I'.
```
+  API の詳細については、 *AWS SDK for SAP ABAP API リファレンス*の「[DescribeConfigRules](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)」を参照してください。

------

# CLI で `DescribeConfigurationRecorderStatus` を使用する
<a name="config-service_example_config-service_DescribeConfigurationRecorderStatus_section"></a>

次のサンプルコードは、`DescribeConfigurationRecorderStatus` を使用する方法を説明しています。

------
#### [ CLI ]

**AWS CLI**  
**設定レコーダーのステータス情報を取得するには**  
次のコマンドは、デフォルトの設定レコーダーのステータスを返します。  

```
aws configservice describe-configuration-recorder-status
```
出力:  

```
{
    "ConfigurationRecordersStatus": [
        {
            "name": "default",
            "lastStatus": "SUCCESS",
            "recording": true,
            "lastStatusChangeTime": 1452193834.344,
            "lastStartTime": 1441039997.819,
            "lastStopTime": 1441039992.835
        }
    ]
}
```
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[DescribeConfigurationRecorderStatus](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-configuration-recorder-status.html)」を参照してください。

------
#### [ PowerShell ]

**Tools for PowerShell V4**  
**例 1: このサンプルは、設定レコーダーのステータスを返します。**  

```
Get-CFGConfigurationRecorderStatus
```
**出力:**  

```
LastErrorCode        :
LastErrorMessage     :
LastStartTime        : 10/11/2019 10:13:51 AM
LastStatus           : Success
LastStatusChangeTime : 12/31/2019 6:14:12 AM
LastStopTime         : 10/11/2019 10:13:46 AM
Name                 : default
Recording            : True
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V4)*」の「[DescribeConfigurationRecorderStatus](https://docs.aws.amazon.com/powershell/v4/reference)」を参照してください。

**Tools for PowerShell V5**  
**例 1: このサンプルは、設定レコーダーのステータスを返します。**  

```
Get-CFGConfigurationRecorderStatus
```
**出力:**  

```
LastErrorCode        :
LastErrorMessage     :
LastStartTime        : 10/11/2019 10:13:51 AM
LastStatus           : Success
LastStatusChangeTime : 12/31/2019 6:14:12 AM
LastStopTime         : 10/11/2019 10:13:46 AM
Name                 : default
Recording            : True
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V5)*」の「[DescribeConfigurationRecorderStatus](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

------

# CLI で `DescribeConfigurationRecorders` を使用する
<a name="config-service_example_config-service_DescribeConfigurationRecorders_section"></a>

次のサンプルコードは、`DescribeConfigurationRecorders` を使用する方法を説明しています。

------
#### [ CLI ]

**AWS CLI**  
**設定レコーダーの詳細を取得するには**  
次のコマンドは、デフォルト設定レコーダーの詳細を返します。  

```
aws configservice describe-configuration-recorders
```
出力:  

```
{
    "ConfigurationRecorders": [
        {
            "recordingGroup": {
                "allSupported": true,
                "resourceTypes": [],
                "includeGlobalResourceTypes": true
            },
            "roleARN": "arn:aws:iam::123456789012:role/config-ConfigRole-A1B2C3D4E5F6",
            "name": "default"
        }
    ]
}
```
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[DescribeConfigurationRecorders](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-configuration-recorders.html)」を参照してください。

------
#### [ PowerShell ]

**Tools for PowerShell V4**  
**例 1: この例では、設定レコーダーの詳細を返します。**  

```
Get-CFGConfigurationRecorder | Format-List
```
**出力:**  

```
Name           : default
RecordingGroup : Amazon.ConfigService.Model.RecordingGroup
RoleARN        : arn:aws:iam::123456789012:role/aws-service-role/config.amazonaws.com/AWSServiceRoleForConfig
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V4)*」の「[DescribeConfigurationRecorders](https://docs.aws.amazon.com/powershell/v4/reference)」を参照してください。

**Tools for PowerShell V5**  
**例 1: この例では、設定レコーダーの詳細を返します。**  

```
Get-CFGConfigurationRecorder | Format-List
```
**出力:**  

```
Name           : default
RecordingGroup : Amazon.ConfigService.Model.RecordingGroup
RoleARN        : arn:aws:iam::123456789012:role/aws-service-role/config.amazonaws.com/AWSServiceRoleForConfig
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V5)*」の「[DescribeConfigurationRecorders](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

------

# CLI で `DescribeDeliveryChannels` を使用する
<a name="config-service_example_config-service_DescribeDeliveryChannels_section"></a>

次のサンプルコードは、`DescribeDeliveryChannels` を使用する方法を説明しています。

------
#### [ CLI ]

**AWS CLI**  
**配信チャネルの詳細を取得するには**  
次のコマンドは、配信チャネルに関する詳細を返します。  

```
aws configservice describe-delivery-channels
```
出力:  

```
{
    "DeliveryChannels": [
        {
            "snsTopicARN": "arn:aws:sns:us-east-1:123456789012:config-topic",
            "name": "default",
            "s3BucketName": "config-bucket-123456789012"
        }
    ]
}
```
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[DescribeDeliveryChannels](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/describe-delivery-channels.html)」を参照してください。

------
#### [ PowerShell ]

**Tools for PowerShell V4**  
**例 1: この例では、リージョンの配信チャネルを取得し、詳細を表示します。**  

```
Get-CFGDeliveryChannel -Region eu-west-1 | Select-Object Name, S3BucketName, S3KeyPrefix, @{N="DeliveryFrequency";E={$_.ConfigSnapshotDeliveryProperties.DeliveryFrequency}}
```
**出力:**  

```
Name    S3BucketName               S3KeyPrefix DeliveryFrequency
----    ------------               ----------- -----------------
default config-bucket-NA my          TwentyFour_Hours
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V4)*」の「[DescribeDeliveryChannels](https://docs.aws.amazon.com/powershell/v4/reference)」を参照してください。

**Tools for PowerShell V5**  
**例 1: この例では、リージョンの配信チャネルを取得し、詳細を表示します。**  

```
Get-CFGDeliveryChannel -Region eu-west-1 | Select-Object Name, S3BucketName, S3KeyPrefix, @{N="DeliveryFrequency";E={$_.ConfigSnapshotDeliveryProperties.DeliveryFrequency}}
```
**出力:**  

```
Name    S3BucketName               S3KeyPrefix DeliveryFrequency
----    ------------               ----------- -----------------
default config-bucket-NA my          TwentyFour_Hours
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V5)*」の「[DescribeDeliveryChannels](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

------

# CLI で `GetComplianceDetailsByConfigRule` を使用する
<a name="config-service_example_config-service_GetComplianceDetailsByConfigRule_section"></a>

次のサンプルコードは、`GetComplianceDetailsByConfigRule` を使用する方法を説明しています。

------
#### [ CLI ]

**AWS CLI**  
**Config AWS ルールの評価結果を取得するには**  
次のコマンドは、 という名前の Config AWS ルールに準拠していないすべてのリソースの評価結果を返します`InstanceTypesAreT2micro`。  

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

```
{
    "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"
        }
    ]
}
```
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[GetComplianceDetailsByConfigRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/get-compliance-details-by-config-rule.html)」を参照してください。

------
#### [ PowerShell ]

**Tools for PowerShell V4**  
**例 1: この例では、ルール access-keys-rotated の評価結果を取得し、コンプライアンスタイプ別にグループ化された出力を返します。**  

```
Get-CFGComplianceDetailsByConfigRule -ConfigRuleName access-keys-rotated | Group-Object ComplianceType
```
**出力:**  

```
Count Name                      Group
----- ----                      -----
    2 COMPLIANT                 {Amazon.ConfigService.Model.EvaluationResult, Amazon.ConfigService.Model.EvaluationResult}
    5 NON_COMPLIANT             {Amazon.ConfigService.Model.EvaluationResult, Amazon.ConfigService.Model.EvaluationResult, Amazon.ConfigService.Model.EvaluationRes...
```
**例 2: この例では、COMPLIANT リソースの access-keys-rotated ルールのコンプライアンスの詳細をクエリします。**  

```
Get-CFGComplianceDetailsByConfigRule -ConfigRuleName access-keys-rotated -ComplianceType COMPLIANT | ForEach-Object {$_.EvaluationResultIdentifier.EvaluationResultQualifier}
```
**出力:**  

```
ConfigRuleName      ResourceId            ResourceType
--------------      ----------            ------------
access-keys-rotated BCAB1CDJ2LITAPVEW3JAH AWS::IAM::User
access-keys-rotated BCAB1CDJ2LITL3EHREM4Q AWS::IAM::User
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V4)*」の「[GetComplianceDetailsByConfigRule](https://docs.aws.amazon.com/powershell/v4/reference)」を参照してください。

**Tools for PowerShell V5**  
**例 1: この例では、ルール access-keys-rotated の評価結果を取得し、コンプライアンスタイプ別にグループ化された出力を返します。**  

```
Get-CFGComplianceDetailsByConfigRule -ConfigRuleName access-keys-rotated | Group-Object ComplianceType
```
**出力:**  

```
Count Name                      Group
----- ----                      -----
    2 COMPLIANT                 {Amazon.ConfigService.Model.EvaluationResult, Amazon.ConfigService.Model.EvaluationResult}
    5 NON_COMPLIANT             {Amazon.ConfigService.Model.EvaluationResult, Amazon.ConfigService.Model.EvaluationResult, Amazon.ConfigService.Model.EvaluationRes...
```
**例 2: この例では、COMPLIANT リソースの access-keys-rotated ルールのコンプライアンスの詳細をクエリします。**  

```
Get-CFGComplianceDetailsByConfigRule -ConfigRuleName access-keys-rotated -ComplianceType COMPLIANT | ForEach-Object {$_.EvaluationResultIdentifier.EvaluationResultQualifier}
```
**出力:**  

```
ConfigRuleName      ResourceId            ResourceType
--------------      ----------            ------------
access-keys-rotated BCAB1CDJ2LITAPVEW3JAH AWS::IAM::User
access-keys-rotated BCAB1CDJ2LITL3EHREM4Q AWS::IAM::User
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V5)*」の「[GetComplianceDetailsByConfigRule](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

------

# CLI で `GetComplianceDetailsByResource` を使用する
<a name="config-service_example_config-service_GetComplianceDetailsByResource_section"></a>

次のサンプルコードは、`GetComplianceDetailsByResource` を使用する方法を説明しています。

------
#### [ CLI ]

**AWS CLI**  
** AWS リソースの評価結果を取得するには**  
次のコマンドは、EC2 インスタンス `i-1a2b3c4d` が準拠していない各ルールの評価結果を返します。  

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

```
{
    "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"
        }
    ]
}
```
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[GetComplianceDetailsByResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/get-compliance-details-by-resource.html)」を参照してください。

------
#### [ PowerShell ]

**Tools for PowerShell V4**  
**例 1: この例では、指定されたリソースについて次のような結果が出ました。**  

```
Get-CFGComplianceDetailsByResource -ResourceId ABCD5STJ4EFGHIVEW6JAH -ResourceType 'AWS::IAM::User'
```
**出力:**  

```
Annotation                 :
ComplianceType             : COMPLIANT
ConfigRuleInvokedTime      : 8/25/2019 11:34:56 PM
EvaluationResultIdentifier : Amazon.ConfigService.Model.EvaluationResultIdentifier
ResultRecordedTime         : 8/25/2019 11:34:56 PM
ResultToken                :
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V4)*」の「[GetComplianceDetailsByResource](https://docs.aws.amazon.com/powershell/v4/reference)」を参照してください。

**Tools for PowerShell V5**  
**例 1: この例では、指定されたリソースについて次のような結果が出ました。**  

```
Get-CFGComplianceDetailsByResource -ResourceId ABCD5STJ4EFGHIVEW6JAH -ResourceType 'AWS::IAM::User'
```
**出力:**  

```
Annotation                 :
ComplianceType             : COMPLIANT
ConfigRuleInvokedTime      : 8/25/2019 11:34:56 PM
EvaluationResultIdentifier : Amazon.ConfigService.Model.EvaluationResultIdentifier
ResultRecordedTime         : 8/25/2019 11:34:56 PM
ResultToken                :
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V5)*」の「[GetComplianceDetailsByResource](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

------

# CLI で `GetComplianceSummaryByConfigRule` を使用する
<a name="config-service_example_config-service_GetComplianceSummaryByConfigRule_section"></a>

次のサンプルコードは、`GetComplianceSummaryByConfigRule` を使用する方法を説明しています。

------
#### [ CLI ]

**AWS CLI**  
**Config AWS ルールのコンプライアンス概要を取得するには**  
次のコマンドは、準拠しているルールの数と準拠していないルールの数を返します。  

```
aws configservice get-compliance-summary-by-config-rule
```
出力では、各 `CappedCount` 属性の値は、準拠または非準拠のルールの数を示します。  
出力:  

```
{
    "ComplianceSummary": {
        "NonCompliantResourceCount": {
            "CappedCount": 3,
            "CapExceeded": false
        },
        "ComplianceSummaryTimestamp": 1452204131.493,
        "CompliantResourceCount": {
            "CappedCount": 2,
            "CapExceeded": false
        }
    }
}
```
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[GetComplianceSummaryByConfigRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/get-compliance-summary-by-config-rule.html)」を参照してください。

------
#### [ PowerShell ]

**Tools for PowerShell V4**  
**例 1: このサンプルは、非準拠の Config ルールの数を返します。**  

```
Get-CFGComplianceSummaryByConfigRule -Select ComplianceSummary.NonCompliantResourceCount
```
**出力:**  

```
CapExceeded CappedCount
----------- -----------
False       9
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V4)*」の「[GetComplianceSummaryByConfigRule](https://docs.aws.amazon.com/powershell/v4/reference)」を参照してください。

**Tools for PowerShell V5**  
**例 1: このサンプルは、非準拠の Config ルールの数を返します。**  

```
Get-CFGComplianceSummaryByConfigRule -Select ComplianceSummary.NonCompliantResourceCount
```
**出力:**  

```
CapExceeded CappedCount
----------- -----------
False       9
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V5)*」の「[GetComplianceSummaryByConfigRule](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

------

# CLI で `GetComplianceSummaryByResourceType` を使用する
<a name="config-service_example_config-service_GetComplianceSummaryByResourceType_section"></a>

次のサンプルコードは、`GetComplianceSummaryByResourceType` を使用する方法を説明しています。

------
#### [ CLI ]

**AWS CLI**  
**すべてのリソースタイプのコンプライアンス概要を取得するには**  
次のコマンドは、非準拠の AWS リソースの数と準拠しているリソースの数を返します。  

```
aws configservice get-compliance-summary-by-resource-type
```
出力では、各 `CappedCount` 属性の値は、準拠または非準拠のリソースの数を示します。  
出力:  

```
{
    "ComplianceSummariesByResourceType": [
        {
            "ComplianceSummary": {
                "NonCompliantResourceCount": {
                    "CappedCount": 16,
                    "CapExceeded": false
                },
                "ComplianceSummaryTimestamp": 1453237464.543,
                "CompliantResourceCount": {
                    "CappedCount": 10,
                    "CapExceeded": false
                }
            }
        }
    ]
}
```
**特定のリソースタイプのコンプライアンス概要を取得するには**  
次のコマンドは、準拠していない EC2 インスタンスの数と準拠しているインスタンスの数を返します。  

```
aws configservice get-compliance-summary-by-resource-type --resource-types AWS::EC2::Instance
```
出力では、各 `CappedCount` 属性の値は、準拠または非準拠のリソースの数を示します。  
出力:  

```
{
    "ComplianceSummariesByResourceType": [
        {
            "ResourceType": "AWS::EC2::Instance",
            "ComplianceSummary": {
                "NonCompliantResourceCount": {
                    "CappedCount": 3,
                    "CapExceeded": false
                },
                "ComplianceSummaryTimestamp": 1452204923.518,
                "CompliantResourceCount": {
                    "CappedCount": 7,
                    "CapExceeded": false
                }
            }
        }
    ]
}
```
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[GetComplianceSummaryByResourceType](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/get-compliance-summary-by-resource-type.html)」を参照してください。

------
#### [ PowerShell ]

**Tools for PowerShell V4**  
**例 1: このサンプルは、準拠または非準拠のリソースの数を返し、出力を json に変換します。**  

```
Get-CFGComplianceSummaryByResourceType -Select ComplianceSummariesByResourceType.ComplianceSummary | ConvertTo-Json
{
  "ComplianceSummaryTimestamp": "2019-12-14T06:14:49.778Z",
  "CompliantResourceCount": {
    "CapExceeded": false,
    "CappedCount": 2
  },
  "NonCompliantResourceCount": {
    "CapExceeded": true,
    "CappedCount": 100
  }
}
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V4)*」の「[GetComplianceSummaryByResourceType](https://docs.aws.amazon.com/powershell/v4/reference)」を参照してください。

**Tools for PowerShell V5**  
**例 1: このサンプルは、準拠または非準拠のリソースの数を返し、出力を json に変換します。**  

```
Get-CFGComplianceSummaryByResourceType -Select ComplianceSummariesByResourceType.ComplianceSummary | ConvertTo-Json
{
  "ComplianceSummaryTimestamp": "2019-12-14T06:14:49.778Z",
  "CompliantResourceCount": {
    "CapExceeded": false,
    "CappedCount": 2
  },
  "NonCompliantResourceCount": {
    "CapExceeded": true,
    "CappedCount": 100
  }
}
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V5)*」の「[GetComplianceSummaryByResourceType](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

------

# AWS SDK または CLI `PutConfigRule`で を使用する
<a name="config-service_example_config-service_PutConfigRule_section"></a>

次のサンプルコードは、`PutConfigRule` を使用する方法を説明しています。

------
#### [ CLI ]

**AWS CLI**  
** AWS マネージド Config ルールを追加するには**  
次のコマンドは、 AWS マネージド Config ルールを追加するための JSON コードを提供します。  

```
aws configservice put-config-rule --config-rule file://RequiredTagsForEC2Instances.json
```
`RequiredTagsForEC2Instances.json` は、ルール設定を含む JSON ファイルです。  

```
{
  "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\"}"
}
```
`ComplianceResourceTypes` 属性の場合、この JSON コードはスコープを `AWS::EC2::Instance`タイプのリソースに制限するため、Config AWS は EC2 インスタンスのみをルールに対して評価します。このルールはマネージドルールであるため、`Owner` 属性は `AWS` に設定され、`SourceIdentifier` 属性はルール識別子 `REQUIRED_TAGS` に設定されます。`InputParameters` 属性には、ルールに必要なタグキー、および `CostCenter` と `Owner` が指定されます。  
コマンドが成功すると、 AWS Config は出力を返しません。ルール設定を確認するには、describe-config-rules コマンドを実行してルール名を指定します。  
**カスタマーマネージド Config ルールを追加するには**  
次のコマンドは、カスタマーマネージド Config ルールを追加するための JSON コードを提供します。  

```
aws configservice put-config-rule --config-rule file://InstanceTypesAreT2micro.json
```
`InstanceTypesAreT2micro.json` は、ルール設定を含む JSON ファイルです。  

```
{
  "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\"}"
}
```
`ComplianceResourceTypes` 属性の場合、この JSON コードはスコープを `AWS::EC2::Instance`タイプのリソースに制限するため、Config AWS は EC2 インスタンスのみをルールに対して評価します。このルールはカスタマーマネージドルールであるため、 `Owner` 属性は に設定され`CUSTOM_LAMBDA`、 `SourceIdentifier` 属性は AWS Lambda 関数の ARN に設定されます。`SourceDetails` オブジェクトは必須です。`InputParameters` 属性に指定されたパラメータは、Config が呼び出してルールに対してリソースを評価するときに AWS Lambda AWS 関数に渡されます。  
コマンドが成功すると、 AWS Config は出力を返しません。ルール設定を確認するには、describe-config-rules コマンドを実行してルール名を指定します。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[PutConfigRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/put-config-rule.html)」を参照してください。

------
#### [ Python ]

**SDK for Python (Boto3)**  
 GitHub には、その他のリソースもあります。用例一覧を検索し、[AWS コード例リポジトリ](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/config#code-examples)での設定と実行の方法を確認してください。

```
class ConfigWrapper:
    """
    Encapsulates AWS Config functions.
    """

    def __init__(self, config_client):
        """
        :param config_client: A Boto3 AWS Config client.
        """
        self.config_client = config_client


    def put_config_rule(self, rule_name):
        """
        Sets a configuration rule that prohibits making Amazon S3 buckets publicly
        readable.

        :param rule_name: The name to give the rule.
        """
        try:
            self.config_client.put_config_rule(
                ConfigRule={
                    "ConfigRuleName": rule_name,
                    "Description": "S3 Public Read Prohibited Bucket Rule",
                    "Scope": {
                        "ComplianceResourceTypes": [
                            "AWS::S3::Bucket",
                        ],
                    },
                    "Source": {
                        "Owner": "AWS",
                        "SourceIdentifier": "S3_BUCKET_PUBLIC_READ_PROHIBITED",
                    },
                    "InputParameters": "{}",
                    "ConfigRuleState": "ACTIVE",
                }
            )
            logger.info("Created configuration rule %s.", rule_name)
        except ClientError:
            logger.exception("Couldn't create configuration rule %s.", rule_name)
            raise
```
+  API の詳細については、「*AWS SDK for Python (Boto3) API リファレンス*」の「[PutConfigRule](https://docs.aws.amazon.com/goto/boto3/config-2014-11-12/PutConfigRule)」を参照してください。

------
#### [ SAP ABAP ]

**SDK for SAP ABAP**  
 GitHub には、その他のリソースもあります。用例一覧を検索し、[AWS コード例リポジトリ](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/cfs#code-examples)での設定と実行の方法を確認してください。

```
    " Create a config rule for S3 bucket public read prohibition
    lo_cfs->putconfigrule(
      io_configrule = NEW /aws1/cl_cfsconfigrule(
        iv_configrulename = iv_rule_name
        iv_description = |S3 Public Read Prohibited Bucket Rule|
        io_scope = NEW /aws1/cl_cfsscope(
          it_complianceresourcetypes = VALUE /aws1/cl_cfscplncresrctypes_w=>tt_complianceresourcetypes(
            ( NEW /aws1/cl_cfscplncresrctypes_w( |AWS::S3::Bucket| ) )
          )
        )
        io_source = NEW /aws1/cl_cfssource(
          iv_owner = |AWS|
          iv_sourceidentifier = |S3_BUCKET_PUBLIC_READ_PROHIBITED|
        )
        iv_inputparameters = '{}'
        iv_configrulestate = |ACTIVE|
      )
    ).
    MESSAGE 'Created AWS Config rule.' TYPE 'I'.
```
+  API の詳細については、 *AWS SDK for SAP ABAP API リファレンス*の[PutConfigRule](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)」を参照してください。

------

# CLI で `PutDeliveryChannel` を使用する
<a name="config-service_example_config-service_PutDeliveryChannel_section"></a>

次のサンプルコードは、`PutDeliveryChannel` を使用する方法を説明しています。

------
#### [ CLI ]

**AWS CLI**  
**配信チャネルを作成するには**  
次のコマンドは、配信チャネルの設定を JSON コードとして提供します。  

```
aws configservice put-delivery-channel --delivery-channel file://deliveryChannel.json
```
`deliveryChannel.json` ファイルは、配信チャネルの属性を指定します。  

```
{
    "name": "default",
    "s3BucketName": "config-bucket-123456789012",
    "snsTopicARN": "arn:aws:sns:us-east-1:123456789012:config-topic",
    "configSnapshotDeliveryProperties": {
        "deliveryFrequency": "Twelve_Hours"
    }
}
```
この例では以下の属性を設定します。  
`name` - 配信チャネルの名前です。デフォルトでは、 AWS Config は新しい配信チャネル`default`に名前を割り当てます。 `put-delivery-channel` コマンドを使用して配信チャネル名を更新することはできません。名前を変更する手順については、「配信チャネルの名前変更」を参照してください。`s3BucketName`- Config が設定スナップショットと設定履歴ファイルを配信する Amazon S3 AWS バケットの名前。別の AWS アカウントに属するバケットを指定する場合、そのバケットには Config AWS にアクセス許可を付与するポリシーが必要です。詳細については、Amazon S3 バケットのアクセス許可を参照してください。  
`snsTopicARN` - Config が設定変更に関する通知を送信する Amazon SNS トピックの Amazon リソースネーム (ARN)。別のアカウントからトピックを選択した場合、トピックには Config AWS にアクセス許可を付与するポリシーが必要です。 AWS 詳細については、「Permissions for the Amazon SNS Topic」を参照してください。  
`configSnapshotDeliveryProperties` - Config が設定スナップショットを配信する頻度と、定期的な AWS Config ルールの評価を呼び出す頻度を設定する `deliveryFrequency` 属性が含まれます。  
コマンドが成功すると、 AWS Config は出力を返しません。配信チャネルの設定を確認するには、describe-delivery-channels コマンドを実行します。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[PutDeliveryChannel](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/put-delivery-channel.html)」を参照してください。

------
#### [ PowerShell ]

**Tools for PowerShell V4**  
**例 1: この例では、既存の配信チャネルの deliveryFrequency プロパティを変更します。**  

```
Write-CFGDeliveryChannel -ConfigSnapshotDeliveryProperties_DeliveryFrequency TwentyFour_Hours -DeliveryChannelName default -DeliveryChannel_S3BucketName amzn-s3-demo-bucket -DeliveryChannel_S3KeyPrefix my
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V4)*」の「[PutDeliveryChannel](https://docs.aws.amazon.com/powershell/v4/reference)」を参照してください。

**Tools for PowerShell V5**  
**例 1: この例では、既存の配信チャネルの deliveryFrequency プロパティを変更します。**  

```
Write-CFGDeliveryChannel -ConfigSnapshotDeliveryProperties_DeliveryFrequency TwentyFour_Hours -DeliveryChannelName default -DeliveryChannel_S3BucketName amzn-s3-demo-bucket -DeliveryChannel_S3KeyPrefix my
```
+  API の詳細については、「*AWS Tools for PowerShell コマンドレットリファレンス (V5)*」の「[PutDeliveryChannel](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

------