diff --git a/.changes/1.35.71.json b/.changes/1.35.71.json new file mode 100644 index 0000000000..528a127285 --- /dev/null +++ b/.changes/1.35.71.json @@ -0,0 +1,22 @@ +[ + { + "category": "``bedrock-agent``", + "description": "Add support for specifying embeddingDataType, either FLOAT32 or BINARY", + "type": "api-change" + }, + { + "category": "``config``", + "description": "AWS Config adds support for service-linked recorders, a new type of Config recorder managed by AWS services to record specific subsets of resource configuration data and functioning independently from customer managed AWS Config recorders.", + "type": "api-change" + }, + { + "category": "``fsx``", + "description": "This release adds EFA support to increase FSx for Lustre file systems' throughput performance to a single client instance. This can be done by specifying EfaEnabled=true at the time of creation of Persistent_2 file systems.", + "type": "api-change" + }, + { + "category": "``observabilityadmin``", + "description": "Amazon CloudWatch Observability Admin adds the ability to audit telemetry configuration for AWS resources in customers AWS Accounts and Organizations. The release introduces new APIs to turn on/off the new experience, which supports discovering supported AWS resources and their state of telemetry.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 8faafebebd..887dc33daa 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,15 @@ CHANGELOG ========= +1.35.71 +======= + +* api-change:``bedrock-agent``: Add support for specifying embeddingDataType, either FLOAT32 or BINARY +* api-change:``config``: AWS Config adds support for service-linked recorders, a new type of Config recorder managed by AWS services to record specific subsets of resource configuration data and functioning independently from customer managed AWS Config recorders. +* api-change:``fsx``: This release adds EFA support to increase FSx for Lustre file systems' throughput performance to a single client instance. This can be done by specifying EfaEnabled=true at the time of creation of Persistent_2 file systems. +* api-change:``observabilityadmin``: Amazon CloudWatch Observability Admin adds the ability to audit telemetry configuration for AWS resources in customers AWS Accounts and Organizations. The release introduces new APIs to turn on/off the new experience, which supports discovering supported AWS resources and their state of telemetry. + + 1.35.70 ======= diff --git a/botocore/__init__.py b/botocore/__init__.py index 8094329878..b488d006d2 100644 --- a/botocore/__init__.py +++ b/botocore/__init__.py @@ -16,7 +16,7 @@ import os import re -__version__ = '1.35.70' +__version__ = '1.35.71' class NullHandler(logging.Handler): diff --git a/botocore/data/bedrock-agent/2023-06-05/service-2.json b/botocore/data/bedrock-agent/2023-06-05/service-2.json index 5594edf497..b25133c33e 100644 --- a/botocore/data/bedrock-agent/2023-06-05/service-2.json +++ b/botocore/data/bedrock-agent/2023-06-05/service-2.json @@ -2043,6 +2043,10 @@ "dimensions":{ "shape":"Dimensions", "documentation":"

The dimensions details for the vector configuration used on the Bedrock embeddings model.

" + }, + "embeddingDataType":{ + "shape":"EmbeddingDataType", + "documentation":"

The data type for the vectors when using a model to convert text into vector embeddings. The model must support the specified data type for vector embeddings. Floating-point (float32) is the default data type, and is supported by most models for vector embeddings. See Supported embeddings models for information on the available models and their vector data types.

" } }, "documentation":"

The vector configuration details for the Bedrock embeddings model.

" @@ -3677,6 +3681,14 @@ }, "documentation":"

Details about duplicate connections found between two nodes in the flow.

" }, + "EmbeddingDataType":{ + "type":"string", + "documentation":"

Bedrock models embedding data type. Can be either float32 or binary

", + "enum":[ + "FLOAT32", + "BINARY" + ] + }, "EmbeddingModelConfiguration":{ "type":"structure", "members":{ diff --git a/botocore/data/config/2014-11-12/paginators-1.json b/botocore/data/config/2014-11-12/paginators-1.json index 1df4d34ee8..04fd5c5bd5 100644 --- a/botocore/data/config/2014-11-12/paginators-1.json +++ b/botocore/data/config/2014-11-12/paginators-1.json @@ -187,6 +187,12 @@ "limit_key": "Limit", "output_token": "NextToken", "result_key": "ResourceEvaluations" + }, + "ListConfigurationRecorders": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ConfigurationRecorderSummaries" } } } diff --git a/botocore/data/config/2014-11-12/service-2.json b/botocore/data/config/2014-11-12/service-2.json index 0f20eea266..02cf3e9e11 100644 --- a/botocore/data/config/2014-11-12/service-2.json +++ b/botocore/data/config/2014-11-12/service-2.json @@ -15,6 +15,21 @@ "auth":["aws.auth#sigv4"] }, "operations":{ + "AssociateResourceTypes":{ + "name":"AssociateResourceTypes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateResourceTypesRequest"}, + "output":{"shape":"AssociateResourceTypesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"NoSuchConfigurationRecorderException"} + ], + "documentation":"

Adds all resource types specified in the ResourceTypes list to the RecordingGroup of specified configuration recorder and includes those resource types when recording.

For this operation, the specified configuration recorder must use a RecordingStrategy that is either INCLUSION_BY_RESOURCE_TYPES or EXCLUSION_BY_RESOURCE_TYPES.

" + }, "BatchGetAggregateResourceConfig":{ "name":"BatchGetAggregateResourceConfig", "http":{ @@ -66,7 +81,7 @@ {"shape":"NoSuchConfigRuleException"}, {"shape":"ResourceInUseException"} ], - "documentation":"

Deletes the specified Config rule and all of its evaluation results.

Config sets the state of a rule to DELETING until the deletion is complete. You cannot update a rule while it is in this state. If you make a PutConfigRule or DeleteConfigRule request for the rule, you will receive a ResourceInUseException.

You can check the state of a rule by using the DescribeConfigRules request.

" + "documentation":"

Deletes the specified Config rule and all of its evaluation results.

Config sets the state of a rule to DELETING until the deletion is complete. You cannot update a rule while it is in this state. If you make a PutConfigRule or DeleteConfigRule request for the rule, you will receive a ResourceInUseException.

You can check the state of a rule by using the DescribeConfigRules request.

Recommendation: Stop recording resource compliance before deleting rules

It is highly recommended that you stop recording for the AWS::Config::ResourceCompliance resource type before you delete rules in your account. Deleting rules creates CIs for AWS::Config::ResourceCompliance and can affect your Config configuration recorder costs. If you are deleting rules which evaluate a large number of resource types, this can lead to a spike in the number of CIs recorded.

Best practice:

  1. Stop recording AWS::Config::ResourceCompliance

  2. Delete rule(s)

  3. Turn on recording for AWS::Config::ResourceCompliance

" }, "DeleteConfigurationAggregator":{ "name":"DeleteConfigurationAggregator", @@ -88,9 +103,10 @@ }, "input":{"shape":"DeleteConfigurationRecorderRequest"}, "errors":[ - {"shape":"NoSuchConfigurationRecorderException"} + {"shape":"NoSuchConfigurationRecorderException"}, + {"shape":"UnmodifiableEntityException"} ], - "documentation":"

Deletes the configuration recorder.

After the configuration recorder is deleted, Config will not record resource configuration changes until you create a new configuration recorder.

This action does not delete the configuration information that was previously recorded. You will be able to access the previously recorded information by using the GetResourceConfigHistory action, but you will not be able to access this information in the Config console until you create a new configuration recorder.

" + "documentation":"

Deletes the customer managed configuration recorder.

This operation does not delete the configuration information that was previously recorded. You will be able to access the previously recorded information by using the GetResourceConfigHistory operation, but you will not be able to access this information in the Config console until you have created a new customer managed configuration recorder.

" }, "DeleteConformancePack":{ "name":"DeleteConformancePack", @@ -116,7 +132,7 @@ {"shape":"NoSuchDeliveryChannelException"}, {"shape":"LastDeliveryChannelDeleteFailedException"} ], - "documentation":"

Deletes the delivery channel.

Before you can delete the delivery channel, you must stop the configuration recorder by using the StopConfigurationRecorder action.

" + "documentation":"

Deletes the delivery channel.

Before you can delete the delivery channel, you must stop the customer managed configuration recorder. You can use the StopConfigurationRecorder operation to stop the customer managed configuration recorder.

" }, "DeleteEvaluationResults":{ "name":"DeleteEvaluationResults", @@ -227,6 +243,21 @@ ], "documentation":"

Deletes the retention configuration.

" }, + "DeleteServiceLinkedConfigurationRecorder":{ + "name":"DeleteServiceLinkedConfigurationRecorder", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteServiceLinkedConfigurationRecorderRequest"}, + "output":{"shape":"DeleteServiceLinkedConfigurationRecorderResponse"}, + "errors":[ + {"shape":"NoSuchConfigurationRecorderException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ], + "documentation":"

Deletes an existing service-linked configuration recorder.

This operation does not delete the configuration information that was previously recorded. You will be able to access the previously recorded information by using the GetResourceConfigHistory operation, but you will not be able to access this information in the Config console until you have created a new service-linked configuration recorder for the same service.

The recording scope determines if you receive configuration items

The recording scope is set by the service that is linked to the configuration recorder and determines whether you receive configuration items (CIs) in the delivery channel. If the recording scope is internal, you will not receive CIs in the delivery channel.

" + }, "DeleteStoredQuery":{ "name":"DeleteStoredQuery", "http":{ @@ -286,7 +317,7 @@ {"shape":"InvalidNextTokenException"}, {"shape":"NoSuchConfigurationAggregatorException"} ], - "documentation":"

Returns a list of the conformance packs and their associated compliance status with the count of compliant and noncompliant Config rules within each conformance pack. Also returns the total rule count which includes compliant rules, noncompliant rules, and rules that cannot be evaluated due to insufficient data.

The results can return an empty result page, but if you have a nextToken, the results are displayed on the next page.

" + "documentation":"

Returns a list of the existing and deleted conformance packs and their associated compliance status with the count of compliant and noncompliant Config rules within each conformance pack. Also returns the total rule count which includes compliant rules, noncompliant rules, and rules that cannot be evaluated due to insufficient data.

The results can return an empty result page, but if you have a nextToken, the results are displayed on the next page.

" }, "DescribeAggregationAuthorizations":{ "name":"DescribeAggregationAuthorizations", @@ -316,7 +347,7 @@ {"shape":"NoSuchConfigRuleException"}, {"shape":"InvalidNextTokenException"} ], - "documentation":"

Indicates whether the specified Config rules are compliant. If a rule is noncompliant, this action returns the number of Amazon Web Services resources that do not comply with the rule.

A rule is compliant if all of the evaluated resources comply with it. It is noncompliant if any of these resources do not comply.

If Config has no current evaluation results for the rule, it returns INSUFFICIENT_DATA. This result might indicate one of the following conditions:

" + "documentation":"

Indicates whether the specified Config rules are compliant. If a rule is noncompliant, this operation returns the number of Amazon Web Services resources that do not comply with the rule.

A rule is compliant if all of the evaluated resources comply with it. It is noncompliant if any of these resources do not comply.

If Config has no current evaluation results for the rule, it returns INSUFFICIENT_DATA. This result might indicate one of the following conditions:

" }, "DescribeComplianceByResource":{ "name":"DescribeComplianceByResource", @@ -330,7 +361,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidNextTokenException"} ], - "documentation":"

Indicates whether the specified Amazon Web Services resources are compliant. If a resource is noncompliant, this action returns the number of Config rules that the resource does not comply with.

A resource is compliant if it complies with all the Config rules that evaluate it. It is noncompliant if it does not comply with one or more of these rules.

If Config has no current evaluation results for the resource, it returns INSUFFICIENT_DATA. This result might indicate one of the following conditions about the rules that evaluate the resource:

" + "documentation":"

Indicates whether the specified Amazon Web Services resources are compliant. If a resource is noncompliant, this operation returns the number of Config rules that the resource does not comply with.

A resource is compliant if it complies with all the Config rules that evaluate it. It is noncompliant if it does not comply with one or more of these rules.

If Config has no current evaluation results for the resource, it returns INSUFFICIENT_DATA. This result might indicate one of the following conditions about the rules that evaluate the resource:

" }, "DescribeConfigRuleEvaluationStatus":{ "name":"DescribeConfigRuleEvaluationStatus", @@ -392,7 +423,7 @@ {"shape":"InvalidNextTokenException"}, {"shape":"InvalidLimitException"} ], - "documentation":"

Returns the details of one or more configuration aggregators. If the configuration aggregator is not specified, this action returns the details for all the configuration aggregators associated with the account.

" + "documentation":"

Returns the details of one or more configuration aggregators. If the configuration aggregator is not specified, this operation returns the details for all the configuration aggregators associated with the account.

" }, "DescribeConfigurationRecorderStatus":{ "name":"DescribeConfigurationRecorderStatus", @@ -403,9 +434,10 @@ "input":{"shape":"DescribeConfigurationRecorderStatusRequest"}, "output":{"shape":"DescribeConfigurationRecorderStatusResponse"}, "errors":[ - {"shape":"NoSuchConfigurationRecorderException"} + {"shape":"NoSuchConfigurationRecorderException"}, + {"shape":"ValidationException"} ], - "documentation":"

Returns the current status of the specified configuration recorder as well as the status of the last recording event for the recorder. If a configuration recorder is not specified, this action returns the status of all configuration recorders associated with the account.

>You can specify only one configuration recorder for each Amazon Web Services Region for each account. For a detailed status of recording events over time, add your Config events to Amazon CloudWatch metrics and use CloudWatch metrics.

" + "documentation":"

Returns the current status of the configuration recorder you specify as well as the status of the last recording event for the configuration recorders.

For a detailed status of recording events over time, add your Config events to Amazon CloudWatch metrics and use CloudWatch metrics.

If a configuration recorder is not specified, this operation returns the status for the customer managed configuration recorder configured for the account, if applicable.

When making a request to this operation, you can only specify one configuration recorder.

" }, "DescribeConfigurationRecorders":{ "name":"DescribeConfigurationRecorders", @@ -416,9 +448,10 @@ "input":{"shape":"DescribeConfigurationRecordersRequest"}, "output":{"shape":"DescribeConfigurationRecordersResponse"}, "errors":[ - {"shape":"NoSuchConfigurationRecorderException"} + {"shape":"NoSuchConfigurationRecorderException"}, + {"shape":"ValidationException"} ], - "documentation":"

Returns the details for the specified configuration recorders. If the configuration recorder is not specified, this action returns the details for all configuration recorders associated with the account.

You can specify only one configuration recorder for each Amazon Web Services Region for each account.

" + "documentation":"

Returns details for the configuration recorder you specify.

If a configuration recorder is not specified, this operation returns details for the customer managed configuration recorder configured for the account, if applicable.

When making a request to this operation, you can only specify one configuration recorder.

" }, "DescribeConformancePackCompliance":{ "name":"DescribeConformancePackCompliance", @@ -479,7 +512,7 @@ "errors":[ {"shape":"NoSuchDeliveryChannelException"} ], - "documentation":"

Returns the current status of the specified delivery channel. If a delivery channel is not specified, this action returns the current status of all delivery channels associated with the account.

Currently, you can specify only one delivery channel per region in your account.

" + "documentation":"

Returns the current status of the specified delivery channel. If a delivery channel is not specified, this operation returns the current status of all delivery channels associated with the account.

Currently, you can specify only one delivery channel per region in your account.

" }, "DescribeDeliveryChannels":{ "name":"DescribeDeliveryChannels", @@ -492,7 +525,7 @@ "errors":[ {"shape":"NoSuchDeliveryChannelException"} ], - "documentation":"

Returns details about the specified delivery channel. If a delivery channel is not specified, this action returns the details of all delivery channels associated with the account.

Currently, you can specify only one delivery channel per region in your account.

" + "documentation":"

Returns details about the specified delivery channel. If a delivery channel is not specified, this operation returns the details of all delivery channels associated with the account.

Currently, you can specify only one delivery channel per region in your account.

" }, "DescribeOrganizationConfigRuleStatuses":{ "name":"DescribeOrganizationConfigRuleStatuses", @@ -625,7 +658,22 @@ {"shape":"NoSuchRetentionConfigurationException"}, {"shape":"InvalidNextTokenException"} ], - "documentation":"

Returns the details of one or more retention configurations. If the retention configuration name is not specified, this action returns the details for all the retention configurations for that account.

Currently, Config supports only one retention configuration per region in your account.

" + "documentation":"

Returns the details of one or more retention configurations. If the retention configuration name is not specified, this operation returns the details for all the retention configurations for that account.

Currently, Config supports only one retention configuration per region in your account.

" + }, + "DisassociateResourceTypes":{ + "name":"DisassociateResourceTypes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateResourceTypesRequest"}, + "output":{"shape":"DisassociateResourceTypesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"NoSuchConfigurationRecorderException"} + ], + "documentation":"

Removes all resource types specified in the ResourceTypes list from the RecordingGroup of configuration recorder and excludes these resource types when recording.

For this operation, the configuration recorder must use a RecordingStrategy that is either INCLUSION_BY_RESOURCE_TYPES or EXCLUSION_BY_RESOURCE_TYPES.

" }, "GetAggregateComplianceDetailsByConfigRule":{ "name":"GetAggregateComplianceDetailsByConfigRule", @@ -705,7 +753,7 @@ {"shape":"OversizedConfigurationItemException"}, {"shape":"ResourceNotDiscoveredException"} ], - "documentation":"

Returns configuration item that is aggregated for your specific resource in a specific source account and region.

" + "documentation":"

Returns configuration item that is aggregated for your specific resource in a specific source account and region.

The API does not return results for deleted resources.

" }, "GetComplianceDetailsByConfigRule":{ "name":"GetComplianceDetailsByConfigRule", @@ -924,6 +972,19 @@ ], "documentation":"

Accepts a resource type and returns a list of resource identifiers that are aggregated for a specific resource type across accounts and regions. A resource identifier includes the resource type, ID, (if available) the custom resource name, source account, and source region. You can narrow the results to include only resources that have specific resource IDs, or a resource name, or source account ID, or source region.

For example, if the input consists of accountID 12345678910 and the region is us-east-1 for resource type AWS::EC2::Instance then the API returns all the EC2 instance identifiers of accountID 12345678910 and region us-east-1.

" }, + "ListConfigurationRecorders":{ + "name":"ListConfigurationRecorders", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListConfigurationRecordersRequest"}, + "output":{"shape":"ListConfigurationRecordersResponse"}, + "errors":[ + {"shape":"ValidationException"} + ], + "documentation":"

Returns a list of configuration recorders depending on the filters you specify.

" + }, "ListConformancePackComplianceScores":{ "name":"ListConformancePackComplianceScores", "http":{ @@ -1011,7 +1072,7 @@ "errors":[ {"shape":"InvalidParameterValueException"} ], - "documentation":"

Authorizes the aggregator account and region to collect data from the source account and region.

PutAggregationAuthorization is an idempotent API. Subsequent requests won’t create a duplicate resource if one was already created. If a following request has different tags values, Config will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

" + "documentation":"

Authorizes the aggregator account and region to collect data from the source account and region.

Tags are added at creation and cannot be updated with this operation

PutAggregationAuthorization is an idempotent API. Subsequent requests won’t create a duplicate resource if one was already created. If a following request has different tags values, Config will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

Use TagResource and UntagResource to update tags after creation.

" }, "PutConfigRule":{ "name":"PutConfigRule", @@ -1027,7 +1088,7 @@ {"shape":"InsufficientPermissionsException"}, {"shape":"NoAvailableConfigurationRecorderException"} ], - "documentation":"

Adds or updates an Config rule to evaluate if your Amazon Web Services resources comply with your desired configurations. For information on how many Config rules you can have per account, see Service Limits in the Config Developer Guide.

There are two types of rules: Config Managed Rules and Config Custom Rules. You can use PutConfigRule to create both Config Managed Rules and Config Custom Rules.

Config Managed Rules are predefined, customizable rules created by Config. For a list of managed rules, see List of Config Managed Rules. If you are adding an Config managed rule, you must specify the rule's identifier for the SourceIdentifier key.

Config Custom Rules are rules that you create from scratch. There are two ways to create Config custom rules: with Lambda functions ( Lambda Developer Guide) and with Guard (Guard GitHub Repository), a policy-as-code language. Config custom rules created with Lambda are called Config Custom Lambda Rules and Config custom rules created with Guard are called Config Custom Policy Rules.

If you are adding a new Config Custom Lambda rule, you first need to create an Lambda function that the rule invokes to evaluate your resources. When you use PutConfigRule to add a Custom Lambda rule to Config, you must specify the Amazon Resource Name (ARN) that Lambda assigns to the function. You specify the ARN in the SourceIdentifier key. This key is part of the Source object, which is part of the ConfigRule object.

For any new Config rule that you add, specify the ConfigRuleName in the ConfigRule object. Do not specify the ConfigRuleArn or the ConfigRuleId. These values are generated by Config for new rules.

If you are updating a rule that you added previously, you can specify the rule by ConfigRuleName, ConfigRuleId, or ConfigRuleArn in the ConfigRule data type that you use in this request.

For more information about developing and using Config rules, see Evaluating Resources with Config Rules in the Config Developer Guide.

PutConfigRule is an idempotent API. Subsequent requests won’t create a duplicate resource if one was already created. If a following request has different tags values, Config will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

" + "documentation":"

Adds or updates an Config rule to evaluate if your Amazon Web Services resources comply with your desired configurations. For information on how many Config rules you can have per account, see Service Limits in the Config Developer Guide.

There are two types of rules: Config Managed Rules and Config Custom Rules. You can use PutConfigRule to create both Config Managed Rules and Config Custom Rules.

Config Managed Rules are predefined, customizable rules created by Config. For a list of managed rules, see List of Config Managed Rules. If you are adding an Config managed rule, you must specify the rule's identifier for the SourceIdentifier key.

Config Custom Rules are rules that you create from scratch. There are two ways to create Config custom rules: with Lambda functions ( Lambda Developer Guide) and with Guard (Guard GitHub Repository), a policy-as-code language. Config custom rules created with Lambda are called Config Custom Lambda Rules and Config custom rules created with Guard are called Config Custom Policy Rules.

If you are adding a new Config Custom Lambda rule, you first need to create an Lambda function that the rule invokes to evaluate your resources. When you use PutConfigRule to add a Custom Lambda rule to Config, you must specify the Amazon Resource Name (ARN) that Lambda assigns to the function. You specify the ARN in the SourceIdentifier key. This key is part of the Source object, which is part of the ConfigRule object.

For any new Config rule that you add, specify the ConfigRuleName in the ConfigRule object. Do not specify the ConfigRuleArn or the ConfigRuleId. These values are generated by Config for new rules.

If you are updating a rule that you added previously, you can specify the rule by ConfigRuleName, ConfigRuleId, or ConfigRuleArn in the ConfigRule data type that you use in this request.

For more information about developing and using Config rules, see Evaluating Resources with Config Rules in the Config Developer Guide.

Tags are added at creation and cannot be updated with this operation

PutConfigRule is an idempotent API. Subsequent requests won’t create a duplicate resource if one was already created. If a following request has different tags values, Config will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

Use TagResource and UntagResource to update tags after creation.

" }, "PutConfigurationAggregator":{ "name":"PutConfigurationAggregator", @@ -1045,7 +1106,7 @@ {"shape":"NoAvailableOrganizationException"}, {"shape":"OrganizationAllFeaturesNotEnabledException"} ], - "documentation":"

Creates and updates the configuration aggregator with the selected source accounts and regions. The source account can be individual account(s) or an organization.

accountIds that are passed will be replaced with existing accounts. If you want to add additional accounts into the aggregator, call DescribeConfigurationAggregators to get the previous accounts and then append new ones.

Config should be enabled in source accounts and regions you want to aggregate.

If your source type is an organization, you must be signed in to the management account or a registered delegated administrator and all the features must be enabled in your organization. If the caller is a management account, Config calls EnableAwsServiceAccess API to enable integration between Config and Organizations. If the caller is a registered delegated administrator, Config calls ListDelegatedAdministrators API to verify whether the caller is a valid delegated administrator.

To register a delegated administrator, see Register a Delegated Administrator in the Config developer guide.

PutConfigurationAggregator is an idempotent API. Subsequent requests won’t create a duplicate resource if one was already created. If a following request has different tags values, Config will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

" + "documentation":"

Creates and updates the configuration aggregator with the selected source accounts and regions. The source account can be individual account(s) or an organization.

accountIds that are passed will be replaced with existing accounts. If you want to add additional accounts into the aggregator, call DescribeConfigurationAggregators to get the previous accounts and then append new ones.

Config should be enabled in source accounts and regions you want to aggregate.

If your source type is an organization, you must be signed in to the management account or a registered delegated administrator and all the features must be enabled in your organization. If the caller is a management account, Config calls EnableAwsServiceAccess API to enable integration between Config and Organizations. If the caller is a registered delegated administrator, Config calls ListDelegatedAdministrators API to verify whether the caller is a valid delegated administrator.

To register a delegated administrator, see Register a Delegated Administrator in the Config developer guide.

Tags are added at creation and cannot be updated with this operation

PutConfigurationAggregator is an idempotent API. Subsequent requests won’t create a duplicate resource if one was already created. If a following request has different tags values, Config will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

Use TagResource and UntagResource to update tags after creation.

" }, "PutConfigurationRecorder":{ "name":"PutConfigurationRecorder", @@ -1059,9 +1120,10 @@ {"shape":"ValidationException"}, {"shape":"InvalidConfigurationRecorderNameException"}, {"shape":"InvalidRoleException"}, - {"shape":"InvalidRecordingGroupException"} + {"shape":"InvalidRecordingGroupException"}, + {"shape":"UnmodifiableEntityException"} ], - "documentation":"

Creates a new configuration recorder to record configuration changes for specified resource types.

You can also use this action to change the roleARN or the recordingGroup of an existing recorder. For more information, see Managing the Configuration Recorder in the Config Developer Guide.

You can specify only one configuration recorder for each Amazon Web Services Region for each account.

If the configuration recorder does not have the recordingGroup field specified, the default is to record all supported resource types.

" + "documentation":"

Creates or updates the customer managed configuration recorder.

You can use this operation to create a new customer managed configuration recorder or to update the roleARN and the recordingGroup for an existing customer managed configuration recorder.

To start the customer managed configuration recorder and begin recording configuration changes for the resource types you specify, use the StartConfigurationRecorder operation.

For more information, see Working with the Configuration Recorder in the Config Developer Guide.

One customer managed configuration recorder per account per Region

You can create only one customer managed configuration recorder for each account for each Amazon Web Services Region.

Default is to record all supported resource types, excluding the global IAM resource types

If you have not specified values for the recordingGroup field, the default for the customer managed configuration recorder is to record all supported resource types, excluding the global IAM resource types: AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role, and AWS::IAM::User.

Tags are added at creation and cannot be updated

PutConfigurationRecorder is an idempotent API. Subsequent requests won’t create a duplicate resource if one was already created. If a following request has different tags values, Config will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

Use TagResource and UntagResource to update tags after creation.

" }, "PutConformancePack":{ "name":"PutConformancePack", @@ -1097,7 +1159,7 @@ {"shape":"InvalidSNSTopicARNException"}, {"shape":"InsufficientDeliveryPolicyException"} ], - "documentation":"

Creates a delivery channel object to deliver configuration information and other compliance information to an Amazon S3 bucket and Amazon SNS topic. For more information, see Notifications that Config Sends to an Amazon SNS topic.

Before you can create a delivery channel, you must create a configuration recorder.

You can use this action to change the Amazon S3 bucket or an Amazon SNS topic of the existing delivery channel. To change the Amazon S3 bucket or an Amazon SNS topic, call this action and specify the changed values for the S3 bucket and the SNS topic. If you specify a different value for either the S3 bucket or the SNS topic, this action will keep the existing value for the parameter that is not changed.

You can have only one delivery channel per region in your account.

" + "documentation":"

Creates or updates a delivery channel to deliver configuration information and other compliance information.

You can use this operation to create a new delivery channel or to update the Amazon S3 bucket and the Amazon SNS topic of an existing delivery channel.

For more information, see Working with the Delivery Channel in the Config Developer Guide.

One delivery channel per account per Region

You can have only one delivery channel for each account for each Amazon Web Services Region.

" }, "PutEvaluations":{ "name":"PutEvaluations", @@ -1112,7 +1174,7 @@ {"shape":"InvalidResultTokenException"}, {"shape":"NoSuchConfigRuleException"} ], - "documentation":"

Used by an Lambda function to deliver evaluation results to Config. This action is required in every Lambda function that is invoked by an Config rule.

" + "documentation":"

Used by an Lambda function to deliver evaluation results to Config. This operation is required in every Lambda function that is invoked by an Config rule.

" }, "PutExternalEvaluation":{ "name":"PutExternalEvaluation", @@ -1194,7 +1256,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InsufficientPermissionsException"} ], - "documentation":"

A remediation exception is when a specified resource is no longer considered for auto-remediation. This API adds a new exception or updates an existing exception for a specified resource with a specified Config rule.

Exceptions block auto remediation

Config generates a remediation exception when a problem occurs running a remediation action for a specified resource. Remediation exceptions blocks auto-remediation until the exception is cleared.

Manual remediation is recommended when placing an exception

When placing an exception on an Amazon Web Services resource, it is recommended that remediation is set as manual remediation until the given Config rule for the specified resource evaluates the resource as NON_COMPLIANT. Once the resource has been evaluated as NON_COMPLIANT, you can add remediation exceptions and change the remediation type back from Manual to Auto if you want to use auto-remediation. Otherwise, using auto-remediation before a NON_COMPLIANT evaluation result can delete resources before the exception is applied.

Exceptions can only be performed on non-compliant resources

Placing an exception can only be performed on resources that are NON_COMPLIANT. If you use this API for COMPLIANT resources or resources that are NOT_APPLICABLE, a remediation exception will not be generated. For more information on the conditions that initiate the possible Config evaluation results, see Concepts | Config Rules in the Config Developer Guide.

Auto remediation can be initiated even for compliant resources

If you enable auto remediation for a specific Config rule using the PutRemediationConfigurations API or the Config console, it initiates the remediation process for all non-compliant resources for that specific rule. The auto remediation process relies on the compliance data snapshot which is captured on a periodic basis. Any non-compliant resource that is updated between the snapshot schedule will continue to be remediated based on the last known compliance data snapshot.

This means that in some cases auto remediation can be initiated even for compliant resources, since the bootstrap processor uses a database that can have stale evaluation results based on the last known compliance data snapshot.

" + "documentation":"

A remediation exception is when a specified resource is no longer considered for auto-remediation. This API adds a new exception or updates an existing exception for a specified resource with a specified Config rule.

Exceptions block auto remediation

Config generates a remediation exception when a problem occurs running a remediation action for a specified resource. Remediation exceptions blocks auto-remediation until the exception is cleared.

Manual remediation is recommended when placing an exception

When placing an exception on an Amazon Web Services resource, it is recommended that remediation is set as manual remediation until the given Config rule for the specified resource evaluates the resource as NON_COMPLIANT. Once the resource has been evaluated as NON_COMPLIANT, you can add remediation exceptions and change the remediation type back from Manual to Auto if you want to use auto-remediation. Otherwise, using auto-remediation before a NON_COMPLIANT evaluation result can delete resources before the exception is applied.

Exceptions can only be performed on non-compliant resources

Placing an exception can only be performed on resources that are NON_COMPLIANT. If you use this API for COMPLIANT resources or resources that are NOT_APPLICABLE, a remediation exception will not be generated. For more information on the conditions that initiate the possible Config evaluation results, see Concepts | Config Rules in the Config Developer Guide.

Exceptions cannot be placed on service-linked remediation actions

You cannot place an exception on service-linked remediation actions, such as remediation actions put by an organizational conformance pack.

Auto remediation can be initiated even for compliant resources

If you enable auto remediation for a specific Config rule using the PutRemediationConfigurations API or the Config console, it initiates the remediation process for all non-compliant resources for that specific rule. The auto remediation process relies on the compliance data snapshot which is captured on a periodic basis. Any non-compliant resource that is updated between the snapshot schedule will continue to be remediated based on the last known compliance data snapshot.

This means that in some cases auto remediation can be initiated even for compliant resources, since the bootstrap processor uses a database that can have stale evaluation results based on the last known compliance data snapshot.

" }, "PutResourceConfig":{ "name":"PutResourceConfig", @@ -1225,6 +1287,22 @@ ], "documentation":"

Creates and updates the retention configuration with details about retention period (number of days) that Config stores your historical information. The API creates the RetentionConfiguration object and names the object as default. When you have a RetentionConfiguration object named default, calling the API modifies the default object.

Currently, Config supports only one retention configuration per region in your account.

" }, + "PutServiceLinkedConfigurationRecorder":{ + "name":"PutServiceLinkedConfigurationRecorder", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutServiceLinkedConfigurationRecorderRequest"}, + "output":{"shape":"PutServiceLinkedConfigurationRecorderResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"InsufficientPermissionsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Creates a service-linked configuration recorder that is linked to a specific Amazon Web Services service based on the ServicePrincipal you specify.

The configuration recorder's name, recordingGroup, recordingMode, and recordingScope is set by the service that is linked to the configuration recorder.

For more information, see Working with the Configuration Recorder in the Config Developer Guide.

This API creates a service-linked role AWSServiceRoleForConfig in your account. The service-linked role is created only when the role does not exist in your account.

The recording scope determines if you receive configuration items

The recording scope is set by the service that is linked to the configuration recorder and determines whether you receive configuration items (CIs) in the delivery channel. If the recording scope is internal, you will not receive CIs in the delivery channel.

Tags are added at creation and cannot be updated with this operation

Use TagResource and UntagResource to update tags after creation.

" + }, "PutStoredQuery":{ "name":"PutStoredQuery", "http":{ @@ -1238,7 +1316,7 @@ {"shape":"TooManyTagsException"}, {"shape":"ResourceConcurrentModificationException"} ], - "documentation":"

Saves a new query or updates an existing saved query. The QueryName must be unique for a single Amazon Web Services account and a single Amazon Web Services Region. You can create upto 300 queries in a single Amazon Web Services account and a single Amazon Web Services Region.

PutStoredQuery is an idempotent API. Subsequent requests won’t create a duplicate resource if one was already created. If a following request has different tags values, Config will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

" + "documentation":"

Saves a new query or updates an existing saved query. The QueryName must be unique for a single Amazon Web Services account and a single Amazon Web Services Region. You can create upto 300 queries in a single Amazon Web Services account and a single Amazon Web Services Region.

Tags are added at creation and cannot be updated

PutStoredQuery is an idempotent API. Subsequent requests won’t create a duplicate resource if one was already created. If a following request has different tags values, Config will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

" }, "SelectAggregateResourceConfig":{ "name":"SelectAggregateResourceConfig", @@ -1296,9 +1374,10 @@ "input":{"shape":"StartConfigurationRecorderRequest"}, "errors":[ {"shape":"NoSuchConfigurationRecorderException"}, - {"shape":"NoAvailableDeliveryChannelException"} + {"shape":"NoAvailableDeliveryChannelException"}, + {"shape":"UnmodifiableEntityException"} ], - "documentation":"

Starts recording configurations of the Amazon Web Services resources you have selected to record in your Amazon Web Services account.

You must have created at least one delivery channel to successfully start the configuration recorder.

" + "documentation":"

Starts the customer managed configuration recorder. The customer managed configuration recorder will begin recording configuration changes for the resource types you specify.

You must have created a delivery channel to successfully start the customer managed configuration recorder. You can use the PutDeliveryChannel operation to create a delivery channel.

" }, "StartRemediationExecution":{ "name":"StartRemediationExecution", @@ -1337,9 +1416,10 @@ }, "input":{"shape":"StopConfigurationRecorderRequest"}, "errors":[ - {"shape":"NoSuchConfigurationRecorderException"} + {"shape":"NoSuchConfigurationRecorderException"}, + {"shape":"UnmodifiableEntityException"} ], - "documentation":"

Stops recording configurations of the Amazon Web Services resources you have selected to record in your Amazon Web Services account.

" + "documentation":"

Stops the customer managed configuration recorder. The customer managed configuration recorder will stop recording configuration changes for the resource types you have specified.

" }, "TagResource":{ "name":"TagResource", @@ -1353,7 +1433,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"TooManyTagsException"} ], - "documentation":"

Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. If existing tags are specified, however, then their values will be updated. When a resource is deleted, the tags associated with that resource are deleted as well.

" + "documentation":"

Associates the specified tags to a resource with the specified ResourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. If existing tags are specified, however, then their values will be updated. When a resource is deleted, the tags associated with that resource are deleted as well.

" }, "UntagResource":{ "name":"UntagResource", @@ -1726,6 +1806,52 @@ "type":"list", "member":{"shape":"AggregationAuthorization"} }, + "AggregatorFilterResourceType":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"AggregatorFilterType", + "documentation":"

The type of resource type filter to apply. INCLUDE specifies that the list of resource types in the Value field will be aggregated and no other resource types will be filtered.

" + }, + "Value":{ + "shape":"ResourceTypeValueList", + "documentation":"

Comma-separate list of resource types to filter your aggregated configuration recorders.

" + } + }, + "documentation":"

An object to filter the configuration recorders based on the resource types in scope for recording.

" + }, + "AggregatorFilterServicePrincipal":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"AggregatorFilterType", + "documentation":"

The type of service principal filter to apply. INCLUDE specifies that the list of service principals in the Value field will be aggregated and no other service principals will be filtered.

" + }, + "Value":{ + "shape":"ServicePrincipalValueList", + "documentation":"

Comma-separated list of service principals for the linked Amazon Web Services services to filter your aggregated service-linked configuration recorders.

" + } + }, + "documentation":"

An object to filter service-linked configuration recorders in an aggregator based on the linked Amazon Web Services service.

" + }, + "AggregatorFilterType":{ + "type":"string", + "enum":["INCLUDE"] + }, + "AggregatorFilters":{ + "type":"structure", + "members":{ + "ResourceType":{ + "shape":"AggregatorFilterResourceType", + "documentation":"

An object to filter the configuration recorders based on the resource types in scope for recording.

" + }, + "ServicePrincipal":{ + "shape":"AggregatorFilterServicePrincipal", + "documentation":"

An object to filter service-linked configuration recorders in an aggregator based on the linked Amazon Web Services service.

" + } + }, + "documentation":"

An object to filter the data you specify for an aggregator.

" + }, "AggregatorRegionList":{ "type":"list", "member":{"shape":"String"}, @@ -1742,6 +1868,30 @@ "max":256, "min":0 }, + "AssociateResourceTypesRequest":{ + "type":"structure", + "required":[ + "ConfigurationRecorderArn", + "ResourceTypes" + ], + "members":{ + "ConfigurationRecorderArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the specified configuration recorder.

" + }, + "ResourceTypes":{ + "shape":"ResourceTypeList", + "documentation":"

The list of resource types you want to add to the recording group of the specified configuration recorder.

" + } + } + }, + "AssociateResourceTypesResponse":{ + "type":"structure", + "required":["ConfigurationRecorder"], + "members":{ + "ConfigurationRecorder":{"shape":"ConfigurationRecorder"} + } + }, "AutoRemediationAttemptSeconds":{ "type":"long", "box":true, @@ -2224,7 +2374,7 @@ "documentation":"

The time Config last attempted to deliver a debug log for your Config Custom Policy rules.

" } }, - "documentation":"

Status information for your Config Managed rules and Config Custom Policy rules. The status includes information such as the last time the rule ran, the last time it failed, and the related error for the last failure.

This action does not return status information about Config Custom Lambda rules.

" + "documentation":"

Status information for your Config Managed rules and Config Custom Policy rules. The status includes information such as the last time the rule ran, the last time it failed, and the related error for the last failure.

This operation does not return status information about Config Custom Lambda rules.

" }, "ConfigRuleEvaluationStatusList":{ "type":"list", @@ -2318,6 +2468,10 @@ "CreatedBy":{ "shape":"StringWithCharLimit256", "documentation":"

Amazon Web Services service that created the configuration aggregator.

" + }, + "AggregatorFilters":{ + "shape":"AggregatorFilters", + "documentation":"

An object to filter the data you specify for an aggregator.

" } }, "documentation":"

The details about the configuration aggregator, including information about source accounts, regions, and metadata of the aggregator.

" @@ -2448,24 +2602,66 @@ "ConfigurationRecorder":{ "type":"structure", "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the specified configuration recorder.

" + }, "name":{ "shape":"RecorderName", - "documentation":"

The name of the configuration recorder. Config automatically assigns the name of \"default\" when creating the configuration recorder.

You cannot change the name of the configuration recorder after it has been created. To change the configuration recorder name, you must delete it and create a new configuration recorder with a new name.

" + "documentation":"

The name of the configuration recorder.

For customer managed configuration recorders, Config automatically assigns the name of \"default\" when creating a configuration recorder if you do not specify a name at creation time.

For service-linked configuration recorders, Config automatically assigns a name that has the prefix \"AWS\" to a new service-linked configuration recorder.

Changing the name of a configuration recorder

To change the name of the customer managed configuration recorder, you must delete it and create a new customer managed configuration recorder with a new name.

You cannot change the name of a service-linked configuration recorder.

" }, "roleARN":{ "shape":"String", - "documentation":"

Amazon Resource Name (ARN) of the IAM role assumed by Config and used by the configuration recorder.

While the API model does not require this field, the server will reject a request without a defined roleARN for the configuration recorder.

Pre-existing Config role

If you have used an Amazon Web Services service that uses Config, such as Security Hub or Control Tower, and an Config role has already been created, make sure that the IAM role that you use when setting up Config keeps the same minimum permissions as the already created Config role. You must do this so that the other Amazon Web Services service continues to run as expected.

For example, if Control Tower has an IAM role that allows Config to read Amazon Simple Storage Service (Amazon S3) objects, make sure that the same permissions are granted within the IAM role you use when setting up Config. Otherwise, it may interfere with how Control Tower operates. For more information about IAM roles for Config, see Identity and Access Management for Config in the Config Developer Guide.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM role assumed by Config and used by the specified configuration recorder.

The server will reject a request without a defined roleARN for the configuration recorder

While the API model does not require this field, the server will reject a request without a defined roleARN for the configuration recorder.

Policies and compliance results

IAM policies and other policies managed in Organizations can impact whether Config has permissions to record configuration changes for your resources. Additionally, rules directly evaluate the configuration of a resource and rules don't take into account these policies when running evaluations. Make sure that the policies in effect align with how you intend to use Config.

Keep Minimum Permisions When Reusing an IAM role

If you use an Amazon Web Services service that uses Config, such as Security Hub or Control Tower, and an IAM role has already been created, make sure that the IAM role that you use when setting up Config keeps the same minimum permissions as the pre-existing IAM role. You must do this to ensure that the other Amazon Web Services service continues to run as expected.

For example, if Control Tower has an IAM role that allows Config to read S3 objects, make sure that the same permissions are granted to the IAM role you use when setting up Config. Otherwise, it may interfere with how Control Tower operates.

The service-linked IAM role for Config must be used for service-linked configuration recorders

For service-linked configuration recorders, you must use the service-linked IAM role for Config: AWSServiceRoleForConfig.

" }, "recordingGroup":{ "shape":"RecordingGroup", - "documentation":"

Specifies which resource types Config records for configuration changes.

High Number of Config Evaluations

You may notice increased activity in your account during your initial month recording with Config when compared to subsequent months. During the initial bootstrapping process, Config runs evaluations on all the resources in your account that you have selected for Config to record.

If you are running ephemeral workloads, you may see increased activity from Config as it records configuration changes associated with creating and deleting these temporary resources. An ephemeral workload is a temporary use of computing resources that are loaded and run when needed. Examples include Amazon Elastic Compute Cloud (Amazon EC2) Spot Instances, Amazon EMR jobs, and Auto Scaling. If you want to avoid the increased activity from running ephemeral workloads, you can run these types of workloads in a separate account with Config turned off to avoid increased configuration recording and rule evaluations.

" + "documentation":"

Specifies which resource types are in scope for the configuration recorder to record.

High Number of Config Evaluations

You might notice increased activity in your account during your initial month recording with Config when compared to subsequent months. During the initial bootstrapping process, Config runs evaluations on all the resources in your account that you have selected for Config to record.

If you are running ephemeral workloads, you may see increased activity from Config as it records configuration changes associated with creating and deleting these temporary resources. An ephemeral workload is a temporary use of computing resources that are loaded and run when needed. Examples include Amazon Elastic Compute Cloud (Amazon EC2) Spot Instances, Amazon EMR jobs, and Auto Scaling.

If you want to avoid the increased activity from running ephemeral workloads, you can set up the configuration recorder to exclude these resource types from being recorded, or run these types of workloads in a separate account with Config turned off to avoid increased configuration recording and rule evaluations.

" }, "recordingMode":{ "shape":"RecordingMode", - "documentation":"

Specifies the default recording frequency that Config uses to record configuration changes. Config supports Continuous recording and Daily recording.

Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous.

You can also override the recording frequency for specific resource types.

" + "documentation":"

Specifies the default recording frequency for the configuration recorder. Config supports Continuous recording and Daily recording.

Some resource types require continuous recording

Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous.

You can also override the recording frequency for specific resource types.

" + }, + "recordingScope":{ + "shape":"RecordingScope", + "documentation":"

Specifies whether the ConfigurationItems in scope for the specified configuration recorder are recorded for free (INTERNAL) or if it impacts the costs to your bill (PAID).

" + }, + "servicePrincipal":{ + "shape":"ServicePrincipal", + "documentation":"

For service-linked configuration recorders, specifies the linked Amazon Web Services service for the configuration recorder.

" + } + }, + "documentation":"

Records configuration changes to the resource types in scope.

For more information about the configuration recorder, see Working with the Configuration Recorder in the Config Developer Guide.

" + }, + "ConfigurationRecorderFilter":{ + "type":"structure", + "members":{ + "filterName":{ + "shape":"ConfigurationRecorderFilterName", + "documentation":"

The name of the type of filter. Currently, only recordingScope is supported.

" + }, + "filterValue":{ + "shape":"ConfigurationRecorderFilterValues", + "documentation":"

The value of the filter. For recordingScope, valid values include: INTERNAL and PAID.

INTERNAL indicates that the ConfigurationItems in scope for the configuration recorder are recorded for free.

PAID indicates that the ConfigurationItems in scope for the configuration recorder impact the costs to your bill.

" } }, - "documentation":"

Records configuration changes to your specified resource types. For more information about the configuration recorder, see Managing the Configuration Recorder in the Config Developer Guide.

" + "documentation":"

Filters configuration recorders by recording scope.

" + }, + "ConfigurationRecorderFilterList":{ + "type":"list", + "member":{"shape":"ConfigurationRecorderFilter"} + }, + "ConfigurationRecorderFilterName":{ + "type":"string", + "enum":["recordingScope"] + }, + "ConfigurationRecorderFilterValue":{ + "type":"string", + "pattern":"^[0-9a-zA-Z\\\\*\\\\.\\\\\\/\\\\?-]*$" + }, + "ConfigurationRecorderFilterValues":{ + "type":"list", + "member":{"shape":"ConfigurationRecorderFilterValue"} }, "ConfigurationRecorderList":{ "type":"list", @@ -2478,6 +2674,10 @@ "ConfigurationRecorderStatus":{ "type":"structure", "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the configuration recorder.

" + }, "name":{ "shape":"String", "documentation":"

The name of the configuration recorder.

" @@ -2509,15 +2709,57 @@ "lastStatusChangeTime":{ "shape":"Date", "documentation":"

The time of the latest change in status of an recording event processed by the recorder.

" + }, + "servicePrincipal":{ + "shape":"ServicePrincipal", + "documentation":"

For service-linked configuration recorders, the service principal of the linked Amazon Web Services service.

" } }, - "documentation":"

The current status of the configuration recorder.

For a detailed status of recording events over time, add your Config events to CloudWatch metrics and use CloudWatch metrics.

" + "documentation":"

The current status of the configuration recorder.

For a detailed status of recording events over time, add your Config events to CloudWatch metrics and use CloudWatch metrics.

" }, "ConfigurationRecorderStatusList":{ "type":"list", "member":{"shape":"ConfigurationRecorderStatus"} }, + "ConfigurationRecorderSummaries":{ + "type":"list", + "member":{"shape":"ConfigurationRecorderSummary"} + }, + "ConfigurationRecorderSummary":{ + "type":"structure", + "required":[ + "arn", + "name", + "recordingScope" + ], + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the configuration recorder.

" + }, + "name":{ + "shape":"RecorderName", + "documentation":"

The name of the configuration recorder.

" + }, + "servicePrincipal":{ + "shape":"ServicePrincipal", + "documentation":"

For service-linked configuration recorders, indicates which Amazon Web Services service the configuration recorder is linked to.

" + }, + "recordingScope":{ + "shape":"RecordingScope", + "documentation":"

Indicates whether the ConfigurationItems in scope for the configuration recorder are recorded for free (INTERNAL) or if you are charged a service fee for recording (PAID).

" + } + }, + "documentation":"

A summary of a configuration recorder, including the arn, name, servicePrincipal, and recordingScope.

" + }, "ConfigurationStateId":{"type":"string"}, + "ConflictException":{ + "type":"structure", + "members":{ + }, + "documentation":"

For PutServiceLinkedConfigurationRecorder, you cannot create a service-linked recorder because a service-linked recorder already exists for the specified service.

For DeleteServiceLinkedConfigurationRecorder, you cannot delete the service-linked recorder because it is currently in use by the linked Amazon Web Services service.

For DeleteDeliveryChannel, you cannot delete the specified delivery channel because the customer managed configuration recorder is running. Use the StopConfigurationRecorder operation to stop the customer managed configuration recorder.

For AssociateResourceTypes and DisassociateResourceTypes, one of the following errors:

", + "exception":true + }, "ConformancePackArn":{ "type":"string", "max":2048, @@ -2959,10 +3201,10 @@ "members":{ "ConfigurationRecorderName":{ "shape":"RecorderName", - "documentation":"

The name of the configuration recorder to be deleted. You can retrieve the name of your configuration recorder by using the DescribeConfigurationRecorders action.

" + "documentation":"

The name of the customer managed configuration recorder that you want to delete. You can retrieve the name of your configuration recorders by using the DescribeConfigurationRecorders operation.

" } }, - "documentation":"

The request object for the DeleteConfigurationRecorder action.

" + "documentation":"

The request object for the DeleteConfigurationRecorder operation.

" }, "DeleteConformancePackRequest":{ "type":"structure", @@ -2980,7 +3222,7 @@ "members":{ "DeliveryChannelName":{ "shape":"ChannelName", - "documentation":"

The name of the delivery channel to delete.

" + "documentation":"

The name of the delivery channel that you want to delete.

" } }, "documentation":"

The input for the DeleteDeliveryChannel action. The action accepts the following data, in JSON format.

" @@ -3111,6 +3353,33 @@ } } }, + "DeleteServiceLinkedConfigurationRecorderRequest":{ + "type":"structure", + "required":["ServicePrincipal"], + "members":{ + "ServicePrincipal":{ + "shape":"ServicePrincipal", + "documentation":"

The service principal of the Amazon Web Services service for the service-linked configuration recorder that you want to delete.

" + } + } + }, + "DeleteServiceLinkedConfigurationRecorderResponse":{ + "type":"structure", + "required":[ + "Arn", + "Name" + ], + "members":{ + "Arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the specified configuration recorder.

" + }, + "Name":{ + "shape":"RecorderName", + "documentation":"

The name of the specified configuration recorder.

" + } + } + }, "DeleteStoredQueryRequest":{ "type":"structure", "required":["QueryName"], @@ -3362,7 +3631,7 @@ "members":{ "ResourceType":{ "shape":"StringWithCharLimit256", - "documentation":"

The types of Amazon Web Services resources for which you want compliance information (for example, AWS::EC2::Instance). For this action, you can specify that the resource type is an Amazon Web Services account by specifying AWS::::Account.

" + "documentation":"

The types of Amazon Web Services resources for which you want compliance information (for example, AWS::EC2::Instance). For this operation, you can specify that the resource type is an Amazon Web Services account by specifying AWS::::Account.

" }, "ResourceId":{ "shape":"BaseResourceId", @@ -3541,7 +3810,15 @@ "members":{ "ConfigurationRecorderNames":{ "shape":"ConfigurationRecorderNameList", - "documentation":"

The name(s) of the configuration recorder. If the name is not specified, the action returns the current status of all the configuration recorders associated with the account.

" + "documentation":"

The name of the configuration recorder. If the name is not specified, the opertation returns the status for the customer managed configuration recorder configured for the account, if applicable.

When making a request to this operation, you can only specify one configuration recorder.

" + }, + "ServicePrincipal":{ + "shape":"ServicePrincipal", + "documentation":"

For service-linked configuration recorders, you can use the service principal of the linked Amazon Web Services service to specify the configuration recorder.

" + }, + "Arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the configuration recorder that you want to specify.

" } }, "documentation":"

The input for the DescribeConfigurationRecorderStatus action.

" @@ -3561,7 +3838,15 @@ "members":{ "ConfigurationRecorderNames":{ "shape":"ConfigurationRecorderNameList", - "documentation":"

A list of configuration recorder names.

" + "documentation":"

A list of names of the configuration recorders that you want to specify.

" + }, + "ServicePrincipal":{ + "shape":"ServicePrincipal", + "documentation":"

For service-linked configuration recorders, you can use the service principal of the linked Amazon Web Services service to specify the configuration recorder.

" + }, + "Arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the configuration recorder that you want to specify.

" } }, "documentation":"

The input for the DescribeConfigurationRecorders action.

" @@ -3935,7 +4220,7 @@ "members":{ "ConfigRuleName":{ "shape":"ConfigRuleName", - "documentation":"

A list of Config rule names.

" + "documentation":"

The name of the Config rule.

" }, "ResourceKeys":{ "shape":"ResourceKeys", @@ -3995,6 +4280,30 @@ "max":256, "min":1 }, + "DisassociateResourceTypesRequest":{ + "type":"structure", + "required":[ + "ConfigurationRecorderArn", + "ResourceTypes" + ], + "members":{ + "ConfigurationRecorderArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the specified configuration recorder.

" + }, + "ResourceTypes":{ + "shape":"ResourceTypeList", + "documentation":"

The list of resource types you want to remove from the recording group of the specified configuration recorder.

" + } + } + }, + "DisassociateResourceTypesResponse":{ + "type":"structure", + "required":["ConfigurationRecorder"], + "members":{ + "ConfigurationRecorder":{"shape":"ConfigurationRecorder"} + } + }, "DiscoveredResourceIdentifierList":{ "type":"list", "member":{"shape":"AggregateResourceIdentifier"} @@ -4192,7 +4501,7 @@ "documentation":"

A comma-separated list of resource types to exclude from recording by the configuration recorder.

" } }, - "documentation":"

Specifies whether the configuration recorder excludes certain resource types from being recorded. Use the resourceTypes field to enter a comma-separated list of resource types you want to exclude from recording.

By default, when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, Config starts recording resources of that type automatically.

How to use the exclusion recording strategy

To use this option, you must set the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES.

Config will then record configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded.

Global resource types and the exclusion recording strategy

Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

" + "documentation":"

Specifies whether the configuration recorder excludes certain resource types from being recorded. Use the resourceTypes field to enter a comma-separated list of resource types you want to exclude from recording.

By default, when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, Config starts recording resources of that type automatically.

How to use the exclusion recording strategy

To use this option, you must set the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES.

Config will then record configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded.

Global resource types and the exclusion recording strategy

Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. For a list of those Regions, see Recording Amazon Web Services Resources | Global Resources.

" }, "ExecutionControls":{ "type":"structure", @@ -5000,14 +5309,14 @@ "type":"structure", "members":{ }, - "documentation":"

Your Amazon S3 bucket policy does not permit Config to write to it.

", + "documentation":"

Your Amazon S3 bucket policy does not allow Config to write to it.

", "exception":true }, "InsufficientPermissionsException":{ "type":"structure", "members":{ }, - "documentation":"

Indicates one of the following errors:

", + "documentation":"

Indicates one of the following errors:

", "exception":true }, "Integer":{"type":"integer"}, @@ -5015,7 +5324,7 @@ "type":"structure", "members":{ }, - "documentation":"

You have provided a name for the configuration recorder that is not valid.

", + "documentation":"

You have provided a name for the customer managed configuration recorder that is not valid.

", "exception":true }, "InvalidDeliveryChannelNameException":{ @@ -5057,7 +5366,7 @@ "type":"structure", "members":{ }, - "documentation":"

Indicates one of the following errors:

", + "documentation":"

One of the following errors:

", "exception":true }, "InvalidResultTokenException":{ @@ -5071,7 +5380,7 @@ "type":"structure", "members":{ }, - "documentation":"

You have provided a null or empty Amazon Resource Name (ARN) for the IAM role assumed by Config and used by the configuration recorder.

", + "documentation":"

You have provided a null or empty Amazon Resource Name (ARN) for the IAM role assumed by Config and used by the customer managed configuration recorder.

", "exception":true }, "InvalidS3KeyPrefixException":{ @@ -5106,7 +5415,7 @@ "type":"structure", "members":{ }, - "documentation":"

You cannot delete the delivery channel you specified because the configuration recorder is running.

", + "documentation":"

You cannot delete the delivery channel you specified because the customer managed configuration recorder is running.

", "exception":true }, "LastUpdatedTime":{"type":"timestamp"}, @@ -5120,7 +5429,7 @@ "type":"structure", "members":{ }, - "documentation":"

For StartConfigRulesEvaluation API, this exception is thrown if an evaluation is in progress or if you call the StartConfigRulesEvaluation API more than once per minute.

For PutConfigurationAggregator API, this exception is thrown if the number of accounts and aggregators exceeds the limit.

", + "documentation":"

For PutServiceLinkedConfigurationRecorder API, this exception is thrown if the number of service-linked roles in the account exceeds the limit.

For StartConfigRulesEvaluation API, this exception is thrown if an evaluation is in progress or if you call the StartConfigRulesEvaluation API more than once per minute.

For PutConfigurationAggregator API, this exception is thrown if the number of accounts and aggregators exceeds the limit.

", "exception":true }, "ListAggregateDiscoveredResourcesRequest":{ @@ -5165,6 +5474,38 @@ } } }, + "ListConfigurationRecordersRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"ConfigurationRecorderFilterList", + "documentation":"

Filters the results based on a list of ConfigurationRecorderFilter objects that you specify.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to include in the response.

", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The NextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" + } + } + }, + "ListConfigurationRecordersResponse":{ + "type":"structure", + "required":["ConfigurationRecorderSummaries"], + "members":{ + "ConfigurationRecorderSummaries":{ + "shape":"ConfigurationRecorderSummaries", + "documentation":"

A list of ConfigurationRecorderSummary objects that includes.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The NextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" + } + } + }, "ListConformancePackComplianceScoresRequest":{ "type":"structure", "members":{ @@ -5308,7 +5649,7 @@ }, "NextToken":{ "shape":"String", - "documentation":"

If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

" + "documentation":"

If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this operation again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

" } } }, @@ -5318,7 +5659,7 @@ "members":{ "ResourceArn":{ "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.

" + "documentation":"

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. The following resources are supported:

" }, "Limit":{ "shape":"Limit", @@ -5400,6 +5741,11 @@ "documentation":"

Failed to add the retention configuration because a retention configuration with that name already exists.

", "exception":true }, + "MaxResults":{ + "type":"integer", + "max":20, + "min":0 + }, "MaximumExecutionFrequency":{ "type":"string", "enum":[ @@ -5474,7 +5820,7 @@ "type":"structure", "members":{ }, - "documentation":"

There are no configuration recorders available to provide the role needed to describe your resources. Create a configuration recorder.

", + "documentation":"

There are no customer managed configuration recorders available to record your resources. Use the PutConfigurationRecorder operation to create the customer managed configuration recorder.

", "exception":true }, "NoAvailableDeliveryChannelException":{ @@ -5587,7 +5933,7 @@ "type":"structure", "members":{ }, - "documentation":"

For PutConfigurationAggregator API, you can see this exception for the following reasons:

For all OrganizationConfigRule and OrganizationConformancePack APIs, Config throws an exception if APIs are called from member accounts. All APIs must be called from organization management account.

", + "documentation":"

For PutConfigurationAggregator API, you can see this exception for the following reasons:

For all OrganizationConfigRule and OrganizationConformancePack APIs, Config throws an exception if APIs are called from member accounts. All APIs must be called from organization management account.

", "exception":true }, "OrganizationAggregationSource":{ @@ -6235,6 +6581,10 @@ "Tags":{ "shape":"TagsList", "documentation":"

An array of tag object.

" + }, + "AggregatorFilters":{ + "shape":"AggregatorFilters", + "documentation":"

An object to filter configuration recorders in an aggregator. Either ResourceType or ServicePrincipal is required.

" } } }, @@ -6253,7 +6603,11 @@ "members":{ "ConfigurationRecorder":{ "shape":"ConfigurationRecorder", - "documentation":"

An object for the configuration recorder to record configuration changes for specified resource types.

" + "documentation":"

An object for the configuration recorder. A configuration recorder records configuration changes for the resource types in scope.

" + }, + "Tags":{ + "shape":"TagsList", + "documentation":"

The tags for the customer managed configuration recorder. Each tag consists of a key and an optional value, both of which you define.

" } }, "documentation":"

The input for the PutConfigurationRecorder action.

" @@ -6307,7 +6661,7 @@ "members":{ "DeliveryChannel":{ "shape":"DeliveryChannel", - "documentation":"

The configuration delivery channel object that delivers the configuration information to an Amazon S3 bucket and to an Amazon SNS topic.

" + "documentation":"

An object for the delivery channel. A delivery channel sends notifications and updated configuration states.

" } }, "documentation":"

The input for the PutDeliveryChannel action.

" @@ -6548,6 +6902,33 @@ } } }, + "PutServiceLinkedConfigurationRecorderRequest":{ + "type":"structure", + "required":["ServicePrincipal"], + "members":{ + "ServicePrincipal":{ + "shape":"ServicePrincipal", + "documentation":"

The service principal of the Amazon Web Services service for the service-linked configuration recorder that you want to create.

" + }, + "Tags":{ + "shape":"TagsList", + "documentation":"

The tags for a service-linked configuration recorder. Each tag consists of a key and an optional value, both of which you define.

" + } + } + }, + "PutServiceLinkedConfigurationRecorderResponse":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the specified configuration recorder.

" + }, + "Name":{ + "shape":"RecorderName", + "documentation":"

The name of the specified configuration recorder.

For service-linked configuration recorders, Config automatically assigns a name that has the prefix \"AWS\" to the new service-linked configuration recorder.

" + } + } + }, "PutStoredQueryRequest":{ "type":"structure", "required":["StoredQuery"], @@ -6621,7 +7002,8 @@ "enum":[ "Pending", "Success", - "Failure" + "Failure", + "NotApplicable" ] }, "RecordingFrequency":{ @@ -6640,7 +7022,7 @@ }, "includeGlobalResourceTypes":{ "shape":"IncludeGlobalResourceTypes", - "documentation":"

This option is a bundle which only applies to the global IAM resource types: IAM users, groups, roles, and customer managed policies. These global IAM resource types can only be recorded by Config in Regions where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

Aurora global clusters are recorded in all enabled Regions

The AWS::RDS::GlobalCluster resource type will be recorded in all supported Config Regions where the configuration recorder is enabled, even if includeGlobalResourceTypes is setfalse. The includeGlobalResourceTypes option is a bundle which only applies to IAM users, groups, roles, and customer managed policies.

If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, use one of the following recording strategies:

  1. Record all current and future resource types with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or

  2. Record specific resource types (INCLUSION_BY_RESOURCE_TYPES).

For more information, see Selecting Which Resources are Recorded in the Config developer guide.

includeGlobalResourceTypes and the exclusion recording strategy

The includeGlobalResourceTypes field has no impact on the EXCLUSION_BY_RESOURCE_TYPES recording strategy. This means that the global IAM resource types (IAM users, groups, roles, and customer managed policies) will not be automatically added as exclusions for exclusionByResourceTypes when includeGlobalResourceTypes is set to false.

The includeGlobalResourceTypes field should only be used to modify the AllSupported field, as the default for the AllSupported field is to record configuration changes for all supported resource types excluding the global IAM resource types. To include the global IAM resource types when AllSupported is set to true, make sure to set includeGlobalResourceTypes to true.

To exclude the global IAM resource types for the EXCLUSION_BY_RESOURCE_TYPES recording strategy, you need to manually add them to the resourceTypes field of exclusionByResourceTypes.

Required and optional fields

Before you set this field to true, set the allSupported field of RecordingGroup to true. Optionally, you can set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES.

Overriding fields

If you set this field to false but list global IAM resource types in the resourceTypes field of RecordingGroup, Config will still record configuration changes for those specified resource types regardless of if you set the includeGlobalResourceTypes field to false.

If you do not want to record configuration changes to the global IAM resource types (IAM users, groups, roles, and customer managed policies), make sure to not list them in the resourceTypes field in addition to setting the includeGlobalResourceTypes field to false.

" + "documentation":"

This option is a bundle which only applies to the global IAM resource types: IAM users, groups, roles, and customer managed policies. These global IAM resource types can only be recorded by Config in Regions where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. For a list of those Regions, see Recording Amazon Web Services Resources | Global Resources.

Aurora global clusters are recorded in all enabled Regions

The AWS::RDS::GlobalCluster resource type will be recorded in all supported Config Regions where the configuration recorder is enabled, even if includeGlobalResourceTypes is setfalse. The includeGlobalResourceTypes option is a bundle which only applies to IAM users, groups, roles, and customer managed policies.

If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, use one of the following recording strategies:

  1. Record all current and future resource types with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or

  2. Record specific resource types (INCLUSION_BY_RESOURCE_TYPES).

For more information, see Selecting Which Resources are Recorded in the Config developer guide.

includeGlobalResourceTypes and the exclusion recording strategy

The includeGlobalResourceTypes field has no impact on the EXCLUSION_BY_RESOURCE_TYPES recording strategy. This means that the global IAM resource types (IAM users, groups, roles, and customer managed policies) will not be automatically added as exclusions for exclusionByResourceTypes when includeGlobalResourceTypes is set to false.

The includeGlobalResourceTypes field should only be used to modify the AllSupported field, as the default for the AllSupported field is to record configuration changes for all supported resource types excluding the global IAM resource types. To include the global IAM resource types when AllSupported is set to true, make sure to set includeGlobalResourceTypes to true.

To exclude the global IAM resource types for the EXCLUSION_BY_RESOURCE_TYPES recording strategy, you need to manually add them to the resourceTypes field of exclusionByResourceTypes.

Required and optional fields

Before you set this field to true, set the allSupported field of RecordingGroup to true. Optionally, you can set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES.

Overriding fields

If you set this field to false but list global IAM resource types in the resourceTypes field of RecordingGroup, Config will still record configuration changes for those specified resource types regardless of if you set the includeGlobalResourceTypes field to false.

If you do not want to record configuration changes to the global IAM resource types (IAM users, groups, roles, and customer managed policies), make sure to not list them in the resourceTypes field in addition to setting the includeGlobalResourceTypes field to false.

" }, "resourceTypes":{ "shape":"ResourceTypeList", @@ -6652,7 +7034,7 @@ }, "recordingStrategy":{ "shape":"RecordingStrategy", - "documentation":"

An object that specifies the recording strategy for the configuration recorder.

Required and optional fields

The recordingStrategy field is optional when you set the allSupported field of RecordingGroup to true.

The recordingStrategy field is optional when you list resource types in the resourceTypes field of RecordingGroup.

The recordingStrategy field is required if you list resource types to exclude from recording in the resourceTypes field of ExclusionByResourceTypes.

Overriding fields

If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the exclusionByResourceTypes field will override other properties in the request.

For example, even if you set includeGlobalResourceTypes to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the resourceTypes field of exclusionByResourceTypes.

Global resources types and the resource exclusion recording strategy

By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, Config starts recording resources of that type automatically.

Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

" + "documentation":"

An object that specifies the recording strategy for the configuration recorder.

Required and optional fields

The recordingStrategy field is optional when you set the allSupported field of RecordingGroup to true.

The recordingStrategy field is optional when you list resource types in the resourceTypes field of RecordingGroup.

The recordingStrategy field is required if you list resource types to exclude from recording in the resourceTypes field of ExclusionByResourceTypes.

Overriding fields

If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the exclusionByResourceTypes field will override other properties in the request.

For example, even if you set includeGlobalResourceTypes to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the resourceTypes field of exclusionByResourceTypes.

Global resources types and the resource exclusion recording strategy

By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, Config starts recording resources of that type automatically.

Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. For a list of those Regions, see Recording Amazon Web Services Resources | Global Resources.

" } }, "documentation":"

Specifies which resource types Config records for configuration changes. By default, Config records configuration changes for all current and future supported resource types in the Amazon Web Services Region where you have enabled Config, excluding the global IAM resource types: IAM users, groups, roles, and customer managed policies.

In the recording group, you specify whether you want to record all supported current and future supported resource types or to include or exclude specific resources types. For a list of supported resource types, see Supported Resource Types in the Config developer guide.

If you don't want Config to record all current and future supported resource types (excluding the global IAM resource types), use one of the following recording strategies:

  1. Record all current and future resource types with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or

  2. Record specific resource types (INCLUSION_BY_RESOURCE_TYPES).

If you use the recording strategy to Record all current and future resource types (ALL_SUPPORTED_RESOURCE_TYPES), you can use the flag includeGlobalResourceTypes to include the global IAM resource types in your recording.

Aurora global clusters are recorded in all enabled Regions

The AWS::RDS::GlobalCluster resource type will be recorded in all supported Config Regions where the configuration recorder is enabled.

If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, use the EXCLUSION_BY_RESOURCE_TYPES or INCLUSION_BY_RESOURCE_TYPES recording strategy.

" @@ -6663,7 +7045,7 @@ "members":{ "recordingFrequency":{ "shape":"RecordingFrequency", - "documentation":"

The default recording frequency that Config uses to record configuration changes.

Daily recording is not supported for the following resource types:

For the allSupported (ALL_SUPPORTED_RESOURCE_TYPES) recording strategy, these resource types will be set to Continuous recording.

" + "documentation":"

The default recording frequency that Config uses to record configuration changes.

Daily recording cannot be specified for the following resource types:

For the allSupported (ALL_SUPPORTED_RESOURCE_TYPES) recording strategy, these resource types will be set to Continuous recording.

" }, "recordingModeOverrides":{ "shape":"RecordingModeOverrides", @@ -6685,7 +7067,7 @@ }, "resourceTypes":{ "shape":"RecordingModeResourceTypesList", - "documentation":"

A comma-separated list that specifies which resource types Config includes in the override.

Daily recording is not supported for the following resource types:

" + "documentation":"

A comma-separated list that specifies which resource types Config includes in the override.

Daily recording cannot be specified for the following resource types:

" }, "recordingFrequency":{ "shape":"RecordingFrequency", @@ -6704,6 +7086,13 @@ "type":"list", "member":{"shape":"ResourceType"} }, + "RecordingScope":{ + "type":"string", + "enum":[ + "INTERNAL", + "PAID" + ] + }, "RecordingStrategy":{ "type":"structure", "members":{ @@ -7661,6 +8050,16 @@ "max":196, "min":1 }, + "ResourceTypeValue":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}" + }, + "ResourceTypeValueList":{ + "type":"list", + "member":{"shape":"ResourceTypeValue"} + }, "ResourceTypes":{ "type":"list", "member":{"shape":"StringWithCharLimit256"}, @@ -7850,6 +8249,22 @@ } } }, + "ServicePrincipal":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\w+=,.@-]+" + }, + "ServicePrincipalValue":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\w+=,.@-]+" + }, + "ServicePrincipalValueList":{ + "type":"list", + "member":{"shape":"ServicePrincipalValue"} + }, "SortBy":{ "type":"string", "enum":["SCORE"] @@ -7949,10 +8364,10 @@ "members":{ "ConfigurationRecorderName":{ "shape":"RecorderName", - "documentation":"

The name of the recorder object that records each configuration change made to the resources.

" + "documentation":"

The name of the customer managed configuration recorder that you want to start.

" } }, - "documentation":"

The input for the StartConfigurationRecorder action.

" + "documentation":"

The input for the StartConfigurationRecorder operation.

" }, "StartRemediationExecutionRequest":{ "type":"structure", @@ -8059,10 +8474,10 @@ "members":{ "ConfigurationRecorderName":{ "shape":"RecorderName", - "documentation":"

The name of the recorder object that records each configuration change made to the resources.

" + "documentation":"

The name of the customer managed configuration recorder that you want to stop.

" } }, - "documentation":"

The input for the StopConfigurationRecorder action.

" + "documentation":"

The input for the StopConfigurationRecorder operation.

" }, "StoredQuery":{ "type":"structure", @@ -8209,7 +8624,7 @@ "members":{ "ResourceArn":{ "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.

" + "documentation":"

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. The following resources are supported:

" }, "Tags":{ "shape":"TagList", @@ -8280,6 +8695,13 @@ "documentation":"

You have reached the limit of the number of tags you can use. For more information, see Service Limits in the Config Developer Guide.

", "exception":true }, + "UnmodifiableEntityException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The requested operation is not valid.

For PutConfigurationRecorder, you will see this exception because you cannot use this operation to create a service-linked configuration recorder. Use the PutServiceLinkedConfigurationRecorder operation to create a service-linked configuration recorder.

For DeleteConfigurationRecorder, you will see this exception because you cannot use this operation to delete a service-linked configuration recorder. Use the DeleteServiceLinkedConfigurationRecorder operation to delete a service-linked configuration recorder.

For StartConfigurationRecorder and StopConfigurationRecorder, you will see this exception because these operations do not affect service-linked configuration recorders. Service-linked configuration recorders are always recording. To stop recording, you must delete the service-linked configuration recorder. Use the DeleteServiceLinkedConfigurationRecorder operation to delete a service-linked configuration recorder.

", + "exception":true + }, "UnprocessedResourceIdentifierList":{ "type":"list", "member":{"shape":"AggregateResourceIdentifier"} @@ -8293,7 +8715,7 @@ "members":{ "ResourceArn":{ "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.

" + "documentation":"

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. The following resources are supported:

" }, "TagKeys":{ "shape":"TagKeyList", @@ -8305,7 +8727,7 @@ "type":"structure", "members":{ }, - "documentation":"

The requested action is not valid.

For PutStoredQuery, you will see this exception if there are missing required fields or if the input value fails the validation, or if you are trying to create more than 300 queries.

For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this exception if there are missing required fields or if the input value fails the validation.

", + "documentation":"

The requested operation is not valid. You will see this exception if there are missing required fields or if the input value fails the validation.

For PutStoredQuery, one of the following errors:

For DescribeConfigurationRecorders and DescribeConfigurationRecorderStatus, one of the following errors:

For AssociateResourceTypes and DisassociateResourceTypes, one of the following errors:

", "exception":true }, "Value":{"type":"string"}, diff --git a/botocore/data/endpoints.json b/botocore/data/endpoints.json index f13ef1e668..05725829a5 100644 --- a/botocore/data/endpoints.json +++ b/botocore/data/endpoints.json @@ -21084,8 +21084,18 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ap-southeast-5" : { }, - "ca-central-1" : { }, - "ca-west-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "swf-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ca-west-1" : { + "variants" : [ { + "hostname" : "swf-fips.ca-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -21094,6 +21104,20 @@ "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "hostname" : "swf-fips.ca-central-1.amazonaws.com" + }, + "fips-ca-west-1" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "deprecated" : true, + "hostname" : "swf-fips.ca-west-1.amazonaws.com" + }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" @@ -31086,8 +31110,32 @@ }, "swf" : { "endpoints" : { - "us-iso-east-1" : { }, - "us-iso-west-1" : { } + "fips-us-iso-east-1" : { + "credentialScope" : { + "region" : "us-iso-east-1" + }, + "deprecated" : true, + "hostname" : "swf-fips.us-iso-east-1.c2s.ic.gov" + }, + "fips-us-iso-west-1" : { + "credentialScope" : { + "region" : "us-iso-west-1" + }, + "deprecated" : true, + "hostname" : "swf-fips.us-iso-west-1.c2s.ic.gov" + }, + "us-iso-east-1" : { + "variants" : [ { + "hostname" : "swf-fips.us-iso-east-1.c2s.ic.gov", + "tags" : [ "fips" ] + } ] + }, + "us-iso-west-1" : { + "variants" : [ { + "hostname" : "swf-fips.us-iso-west-1.c2s.ic.gov", + "tags" : [ "fips" ] + } ] + } } }, "synthetics" : { @@ -31774,7 +31822,19 @@ }, "swf" : { "endpoints" : { - "us-isob-east-1" : { } + "fips-us-isob-east-1" : { + "credentialScope" : { + "region" : "us-isob-east-1" + }, + "deprecated" : true, + "hostname" : "swf-fips.us-isob-east-1.sc2s.sgov.gov" + }, + "us-isob-east-1" : { + "variants" : [ { + "hostname" : "swf-fips.us-isob-east-1.sc2s.sgov.gov", + "tags" : [ "fips" ] + } ] + } } }, "synthetics" : { diff --git a/botocore/data/fsx/2018-03-01/service-2.json b/botocore/data/fsx/2018-03-01/service-2.json index 5197dc7076..9236632067 100644 --- a/botocore/data/fsx/2018-03-01/service-2.json +++ b/botocore/data/fsx/2018-03-01/service-2.json @@ -1748,6 +1748,10 @@ "shape":"DataCompressionType", "documentation":"

Sets the data compression configuration for the file system. DataCompressionType can have the following values:

For more information, see Lustre data compression in the Amazon FSx for Lustre User Guide.

" }, + "EfaEnabled":{ + "shape":"Flag", + "documentation":"

(Optional) Specifies whether Elastic Fabric Adapter (EFA) and GPUDirect Storage (GDS) support is enabled for the Amazon FSx for Lustre file system.

(Default = false)

" + }, "LogConfiguration":{ "shape":"LustreLogCreateConfiguration", "documentation":"

The Lustre logging configuration used when creating an Amazon FSx for Lustre file system. When logging is enabled, Lustre logs error and warning events for data repositories associated with your file system to Amazon CloudWatch Logs.

" @@ -4174,6 +4178,10 @@ "MetadataConfiguration":{ "shape":"FileSystemLustreMetadataConfiguration", "documentation":"

The Lustre metadata performance configuration for an Amazon FSx for Lustre file system using a PERSISTENT_2 deployment type.

" + }, + "EfaEnabled":{ + "shape":"Flag", + "documentation":"

Specifies whether Elastic Fabric Adapter (EFA) and GPUDirect Storage (GDS) support is enabled for the Amazon FSx for Lustre file system.

" } }, "documentation":"

The configuration for the Amazon FSx for Lustre file system.

" diff --git a/botocore/data/observabilityadmin/2018-05-10/endpoint-rule-set-1.json b/botocore/data/observabilityadmin/2018-05-10/endpoint-rule-set-1.json new file mode 100644 index 0000000000..47cdbe7055 --- /dev/null +++ b/botocore/data/observabilityadmin/2018-05-10/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://observabilityadmin-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://observabilityadmin-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://observabilityadmin.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://observabilityadmin.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/botocore/data/observabilityadmin/2018-05-10/paginators-1.json b/botocore/data/observabilityadmin/2018-05-10/paginators-1.json new file mode 100644 index 0000000000..3e06b86f4c --- /dev/null +++ b/botocore/data/observabilityadmin/2018-05-10/paginators-1.json @@ -0,0 +1,16 @@ +{ + "pagination": { + "ListResourceTelemetry": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "TelemetryConfigurations" + }, + "ListResourceTelemetryForOrganization": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "TelemetryConfigurations" + } + } +} diff --git a/botocore/data/observabilityadmin/2018-05-10/service-2.json b/botocore/data/observabilityadmin/2018-05-10/service-2.json new file mode 100644 index 0000000000..0da0b22ce3 --- /dev/null +++ b/botocore/data/observabilityadmin/2018-05-10/service-2.json @@ -0,0 +1,439 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-05-10", + "auth":["aws.auth#sigv4"], + "endpointPrefix":"observabilityadmin", + "protocol":"rest-json", + "protocols":["rest-json"], + "serviceFullName":"CloudWatch Observability Admin Service", + "serviceId":"ObservabilityAdmin", + "signatureVersion":"v4", + "signingName":"observabilityadmin", + "uid":"observabilityadmin-2018-05-10" + }, + "operations":{ + "GetTelemetryEvaluationStatus":{ + "name":"GetTelemetryEvaluationStatus", + "http":{ + "method":"POST", + "requestUri":"/GetTelemetryEvaluationStatus", + "responseCode":200 + }, + "output":{"shape":"GetTelemetryEvaluationStatusOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Returns the current onboarding status of the telemetry config feature, including the status of the feature and reason the feature failed to start or stop.

" + }, + "GetTelemetryEvaluationStatusForOrganization":{ + "name":"GetTelemetryEvaluationStatusForOrganization", + "http":{ + "method":"POST", + "requestUri":"/GetTelemetryEvaluationStatusForOrganization", + "responseCode":200 + }, + "output":{"shape":"GetTelemetryEvaluationStatusForOrganizationOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ], + "documentation":"

This returns the onboarding status of the telemetry configuration feature for the organization. It can only be called by a Management Account of an AWS Organization or an assigned Delegated Admin Account of AWS CloudWatch telemetry config.

" + }, + "ListResourceTelemetry":{ + "name":"ListResourceTelemetry", + "http":{ + "method":"POST", + "requestUri":"/ListResourceTelemetry", + "responseCode":200 + }, + "input":{"shape":"ListResourceTelemetryInput"}, + "output":{"shape":"ListResourceTelemetryOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Returns a list of telemetry configurations for AWS resources supported by telemetry config. For more information, see Auditing CloudWatch telemetry configurations.

" + }, + "ListResourceTelemetryForOrganization":{ + "name":"ListResourceTelemetryForOrganization", + "http":{ + "method":"POST", + "requestUri":"/ListResourceTelemetryForOrganization", + "responseCode":200 + }, + "input":{"shape":"ListResourceTelemetryForOrganizationInput"}, + "output":{"shape":"ListResourceTelemetryForOrganizationOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Returns a list of telemetry configurations for AWS resources supported by telemetry config in the organization.

" + }, + "StartTelemetryEvaluation":{ + "name":"StartTelemetryEvaluation", + "http":{ + "method":"POST", + "requestUri":"/StartTelemetryEvaluation", + "responseCode":200 + }, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ], + "documentation":"

This action begins onboarding onboarding the caller AWS account to the telemetry config feature.

" + }, + "StartTelemetryEvaluationForOrganization":{ + "name":"StartTelemetryEvaluationForOrganization", + "http":{ + "method":"POST", + "requestUri":"/StartTelemetryEvaluationForOrganization", + "responseCode":200 + }, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ], + "documentation":"

This actions begins onboarding the organization and all member accounts to the telemetry config feature.

" + }, + "StopTelemetryEvaluation":{ + "name":"StopTelemetryEvaluation", + "http":{ + "method":"POST", + "requestUri":"/StopTelemetryEvaluation", + "responseCode":200 + }, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ], + "documentation":"

This action begins offboarding the caller AWS account from the telemetry config feature.

" + }, + "StopTelemetryEvaluationForOrganization":{ + "name":"StopTelemetryEvaluationForOrganization", + "http":{ + "method":"POST", + "requestUri":"/StopTelemetryEvaluationForOrganization", + "responseCode":200 + }, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ], + "documentation":"

This action offboards the Organization of the caller AWS account from thef telemetry config feature.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "amznErrorType":{ + "shape":"String", + "documentation":"

The name of the exception.

", + "location":"header", + "locationName":"x-amzn-ErrorType" + } + }, + "documentation":"

Indicates you don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions. For more information, see Access management for AWS resources in the IAM user guide.

", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "AccountIdentifier":{ + "type":"string", + "max":12, + "min":12, + "pattern":"[0-9]{12}" + }, + "AccountIdentifiers":{ + "type":"list", + "member":{"shape":"AccountIdentifier"}, + "max":10, + "min":0 + }, + "FailureReason":{"type":"string"}, + "GetTelemetryEvaluationStatusForOrganizationOutput":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"Status", + "documentation":"

The onboarding status of the telemetry config feature for the organization.

" + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

This field describes the reason for the failure status. The field will only be populated if Status is FAILED_START or FAILED_STOP.

" + } + } + }, + "GetTelemetryEvaluationStatusOutput":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"Status", + "documentation":"

The onboarding status of the telemetry config feature.

" + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

Describes the reason for the failure status. The field will only be populated if Status is FAILED_START or FAILED_STOP.

" + } + } + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "amznErrorType":{ + "shape":"String", + "documentation":"

The name of the exception.

", + "location":"header", + "locationName":"x-amzn-ErrorType" + } + }, + "documentation":"

Indicates the request has failed to process because of an unknown server error, exception, or failure.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "ListResourceTelemetryForOrganizationInput":{ + "type":"structure", + "members":{ + "AccountIdentifiers":{ + "shape":"AccountIdentifiers", + "documentation":"

A list of AWS account IDs used to filter the resources to those associated with the specified accounts.

" + }, + "ResourceIdentifierPrefix":{ + "shape":"ResourceIdentifierPrefix", + "documentation":"

A string used to filter resources in the organization which have a ResourceIdentifier starting with the ResourceIdentifierPrefix.

" + }, + "ResourceTypes":{ + "shape":"ResourceTypes", + "documentation":"

A list of resource types used to filter resources in the organization. If this parameter is provided, the resources will be returned in the same order used in the request.

" + }, + "TelemetryConfigurationState":{ + "shape":"TelemetryConfigurationState", + "documentation":"

A key-value pair to filter resources in the organization based on the telemetry type and the state of the telemetry configuration. The key is the telemetry type and the value is the state.

" + }, + "ResourceTags":{ + "shape":"TagMapInput", + "documentation":"

A key-value pair to filter resources in the organization based on tags associated with the resource. Fore more information about tags, see What are tags?

" + }, + "MaxResults":{ + "shape":"ListResourceTelemetryForOrganizationMaxResults", + "documentation":"

A number field used to limit the number of results within the returned list.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of items to return. A previous call provides this token.

" + } + } + }, + "ListResourceTelemetryForOrganizationMaxResults":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, + "ListResourceTelemetryForOrganizationOutput":{ + "type":"structure", + "members":{ + "TelemetryConfigurations":{ + "shape":"TelemetryConfigurations", + "documentation":"

A list of telemetry configurations for AWS resources supported by telemetry config in the organization.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of items to return. A previous call provides this token.

" + } + } + }, + "ListResourceTelemetryInput":{ + "type":"structure", + "members":{ + "ResourceIdentifierPrefix":{ + "shape":"ResourceIdentifierPrefix", + "documentation":"

A string used to filter resources which have a ResourceIdentifier starting with the ResourceIdentifierPrefix.

" + }, + "ResourceTypes":{ + "shape":"ResourceTypes", + "documentation":"

A list of resource types used to filter resources supported by telemetry config. If this parameter is provided, the resources will be returned in the same order used in the request.

" + }, + "TelemetryConfigurationState":{ + "shape":"TelemetryConfigurationState", + "documentation":"

A key-value pair to filter resources based on the telemetry type and the state of the telemetry configuration. The key is the telemetry type and the value is the state.

" + }, + "ResourceTags":{ + "shape":"TagMapInput", + "documentation":"

A key-value pair to filter resources based on tags associated with the resource. For more information about tags, see What are tags?

" + }, + "MaxResults":{ + "shape":"ListResourceTelemetryMaxResults", + "documentation":"

A number field used to limit the number of results within the returned list.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of items to return. A previous call generates this token.

" + } + } + }, + "ListResourceTelemetryMaxResults":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, + "ListResourceTelemetryOutput":{ + "type":"structure", + "members":{ + "TelemetryConfigurations":{ + "shape":"TelemetryConfigurations", + "documentation":"

A list of telemetry configurations for AWS resources supported by telemetry config in the caller's account.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of items to return. A previous call generates this token.

" + } + } + }, + "Long":{ + "type":"long", + "box":true + }, + "NextToken":{"type":"string"}, + "ResourceIdentifier":{"type":"string"}, + "ResourceIdentifierPrefix":{ + "type":"string", + "max":768, + "min":3 + }, + "ResourceType":{ + "type":"string", + "enum":[ + "AWS::EC2::Instance", + "AWS::EC2::VPC", + "AWS::Lambda::Function" + ] + }, + "ResourceTypes":{ + "type":"list", + "member":{"shape":"ResourceType"}, + "max":5, + "min":1 + }, + "Status":{ + "type":"string", + "enum":[ + "NOT_STARTED", + "STARTING", + "FAILED_START", + "RUNNING", + "STOPPING", + "FAILED_STOP", + "STOPPED" + ] + }, + "String":{"type":"string"}, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)" + }, + "TagMapInput":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":0 + }, + "TagMapOutput":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)" + }, + "TelemetryConfiguration":{ + "type":"structure", + "members":{ + "AccountIdentifier":{ + "shape":"AccountIdentifier", + "documentation":"

The account ID which contains the resource managed in telemetry configuration. An example of a valid account ID is 012345678901.

" + }, + "TelemetryConfigurationState":{ + "shape":"TelemetryConfigurationState", + "documentation":"

The configuration state for the resource, for example { Logs: NotApplicable; Metrics: Enabled; Traces: NotApplicable; }.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of resource, for example AWS::EC2::Instance.

" + }, + "ResourceIdentifier":{ + "shape":"ResourceIdentifier", + "documentation":"

The identifier of the resource, for example i-0b22a22eec53b9321.

" + }, + "ResourceTags":{ + "shape":"TagMapOutput", + "documentation":"

Tags associated with the resource, for example { Name: \"ExampleInstance\", Environment: \"Development\" }.

" + }, + "LastUpdateTimeStamp":{ + "shape":"Long", + "documentation":"

The timestamp of the last change to the telemetry configuration for the resource. For example, 1728679196318.

" + } + }, + "documentation":"

A model representing the state of a resource within an account according to telemetry config.

" + }, + "TelemetryConfigurationState":{ + "type":"map", + "key":{"shape":"TelemetryType"}, + "value":{"shape":"TelemetryState"} + }, + "TelemetryConfigurations":{ + "type":"list", + "member":{"shape":"TelemetryConfiguration"} + }, + "TelemetryState":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled", + "NotApplicable" + ] + }, + "TelemetryType":{ + "type":"string", + "enum":[ + "Logs", + "Metrics", + "Traces" + ] + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

Indicates input validation failed. Check your request parameters and retry the request.

", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + } + }, + "documentation":"

Amazon CloudWatch Obsersavability Admin to control temletry config for your AWS Organization or account. Telemetry config config to discover and understand the state of telemetry configuration for your AWS resources from a central view in the CloudWatch console. Telemetry config simplifies the process of auditing your telemetry collection configurations across multiple resource types across your AWS Organization or account. For more information, see Auditing CloudWatch telemetry configurations in the CloudWatch User Guide.

For information on the permissions you need to use this API, see Identity and access management for Amazon CloudWatch in the CloudWatch User Guide.

" +} diff --git a/botocore/data/observabilityadmin/2018-05-10/waiters-2.json b/botocore/data/observabilityadmin/2018-05-10/waiters-2.json new file mode 100644 index 0000000000..13f60ee66b --- /dev/null +++ b/botocore/data/observabilityadmin/2018-05-10/waiters-2.json @@ -0,0 +1,5 @@ +{ + "version": 2, + "waiters": { + } +} diff --git a/docs/source/conf.py b/docs/source/conf.py index 00be59498d..a7d6a0558e 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -59,7 +59,7 @@ # The short X.Y version. version = '1.35.' # The full version, including alpha/beta/rc tags. -release = '1.35.70' +release = '1.35.71' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/tests/functional/endpoint-rules/observabilityadmin/endpoint-tests-1.json b/tests/functional/endpoint-rules/observabilityadmin/endpoint-tests-1.json new file mode 100644 index 0000000000..dd1afeb33d --- /dev/null +++ b/tests/functional/endpoint-rules/observabilityadmin/endpoint-tests-1.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://observabilityadmin-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://observabilityadmin-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://observabilityadmin.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://observabilityadmin.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://observabilityadmin-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://observabilityadmin-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://observabilityadmin.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://observabilityadmin.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://observabilityadmin-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://observabilityadmin-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://observabilityadmin.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://observabilityadmin.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://observabilityadmin-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://observabilityadmin.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://observabilityadmin-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://observabilityadmin.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file