From 7ce35d6be11336fc9bf912cd40bb078d212b94ba Mon Sep 17 00:00:00 2001 From: aws-sdk-cpp-automation Date: Wed, 27 Nov 2024 19:13:06 +0000 Subject: [PATCH] Update API model --- .../api-descriptions/bedrock-agent.json | 26 + .../api-descriptions/config-service.json | 813 ++++++++- .../smithy/api-descriptions/fsx.json | 12 + .../api-descriptions/observabilityadmin.json | 1492 +++++++++++++++++ 4 files changed, 2280 insertions(+), 63 deletions(-) create mode 100644 tools/code-generation/smithy/api-descriptions/observabilityadmin.json diff --git a/tools/code-generation/smithy/api-descriptions/bedrock-agent.json b/tools/code-generation/smithy/api-descriptions/bedrock-agent.json index 0f1ecc15c2a..cd1e62eebb9 100644 --- a/tools/code-generation/smithy/api-descriptions/bedrock-agent.json +++ b/tools/code-generation/smithy/api-descriptions/bedrock-agent.json @@ -2047,6 +2047,12 @@ "traits": { "smithy.api#documentation": "

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

" } + }, + "embeddingDataType": { + "target": "com.amazonaws.bedrockagent#EmbeddingDataType", + "traits": { + "smithy.api#documentation": "

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

" + } } }, "traits": { @@ -5245,6 +5251,26 @@ "smithy.api#documentation": "

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

" } }, + "com.amazonaws.bedrockagent#EmbeddingDataType": { + "type": "enum", + "members": { + "FLOAT32": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FLOAT32" + } + }, + "BINARY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BINARY" + } + } + }, + "traits": { + "smithy.api#documentation": "Bedrock models embedding data type. Can be either float32 or binary" + } + }, "com.amazonaws.bedrockagent#EmbeddingModelConfiguration": { "type": "structure", "members": { diff --git a/tools/code-generation/smithy/api-descriptions/config-service.json b/tools/code-generation/smithy/api-descriptions/config-service.json index ef795d66e78..82752f6cc0e 100644 --- a/tools/code-generation/smithy/api-descriptions/config-service.json +++ b/tools/code-generation/smithy/api-descriptions/config-service.json @@ -586,6 +586,77 @@ "target": "com.amazonaws.configservice#AggregationAuthorization" } }, + "com.amazonaws.configservice#AggregatorFilterResourceType": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.configservice#AggregatorFilterType", + "traits": { + "smithy.api#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": { + "target": "com.amazonaws.configservice#ResourceTypeValueList", + "traits": { + "smithy.api#documentation": "

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

" + } + } + }, + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "com.amazonaws.configservice#AggregatorFilterServicePrincipal": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.configservice#AggregatorFilterType", + "traits": { + "smithy.api#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": { + "target": "com.amazonaws.configservice#ServicePrincipalValueList", + "traits": { + "smithy.api#documentation": "

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

" + } + } + }, + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "com.amazonaws.configservice#AggregatorFilterType": { + "type": "enum", + "members": { + "INCLUDE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INCLUDE" + } + } + } + }, + "com.amazonaws.configservice#AggregatorFilters": { + "type": "structure", + "members": { + "ResourceType": { + "target": "com.amazonaws.configservice#AggregatorFilterResourceType", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "ServicePrincipal": { + "target": "com.amazonaws.configservice#AggregatorFilterServicePrincipal", + "traits": { + "smithy.api#documentation": "

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

" + } + } + }, + "traits": { + "smithy.api#documentation": "

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

" + } + }, "com.amazonaws.configservice#AggregatorRegionList": { "type": "list", "member": { @@ -621,6 +692,65 @@ } } }, + "com.amazonaws.configservice#AssociateResourceTypes": { + "type": "operation", + "input": { + "target": "com.amazonaws.configservice#AssociateResourceTypesRequest" + }, + "output": { + "target": "com.amazonaws.configservice#AssociateResourceTypesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.configservice#ConflictException" + }, + { + "target": "com.amazonaws.configservice#NoSuchConfigurationRecorderException" + }, + { + "target": "com.amazonaws.configservice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

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

\n

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

" + } + }, + "com.amazonaws.configservice#AssociateResourceTypesRequest": { + "type": "structure", + "members": { + "ConfigurationRecorderArn": { + "target": "com.amazonaws.configservice#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#required": {} + } + }, + "ResourceTypes": { + "target": "com.amazonaws.configservice#ResourceTypeList", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.configservice#AssociateResourceTypesResponse": { + "type": "structure", + "members": { + "ConfigurationRecorder": { + "target": "com.amazonaws.configservice#ConfigurationRecorder", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.configservice#AutoRemediationAttemptSeconds": { "type": "long", "traits": { @@ -1420,7 +1550,7 @@ } }, "traits": { - "smithy.api#documentation": "

Status information for your Config Managed rules and Config Custom Policy rules. The\n\t\t\tstatus includes information such as the last time the rule ran, the\n\t\t\tlast time it failed, and the related error for the last\n\t\t\tfailure.

\n

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

" + "smithy.api#documentation": "

Status information for your Config Managed rules and Config Custom Policy rules. The\n\t\t\tstatus includes information such as the last time the rule ran, the\n\t\t\tlast time it failed, and the related error for the last\n\t\t\tfailure.

\n

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

" } }, "com.amazonaws.configservice#ConfigRuleEvaluationStatusList": { @@ -1579,6 +1709,12 @@ "traits": { "smithy.api#documentation": "

Amazon Web Services service that created the configuration aggregator.

" } + }, + "AggregatorFilters": { + "target": "com.amazonaws.configservice#AggregatorFilters", + "traits": { + "smithy.api#documentation": "

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

" + } } }, "traits": { @@ -1800,33 +1936,100 @@ "com.amazonaws.configservice#ConfigurationRecorder": { "type": "structure", "members": { + "arn": { + "target": "com.amazonaws.configservice#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

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

" + } + }, "name": { "target": "com.amazonaws.configservice#RecorderName", "traits": { - "smithy.api#documentation": "

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

\n \n

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.

\n
" + "smithy.api#documentation": "

The name of the configuration recorder.

\n

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.

\n

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

\n \n

\n Changing the name of a configuration recorder\n

\n

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.

\n

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

\n
" } }, "roleARN": { "target": "com.amazonaws.configservice#String", "traits": { - "smithy.api#documentation": "

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

\n \n

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

\n
\n \n

\n Pre-existing Config role\n

\n

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

\n

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

\n
" + "smithy.api#documentation": "

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

\n \n

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

\n

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

\n

\n Policies and compliance results\n

\n

\n IAM policies\n\t\t\t\tand other policies managed in Organizations\n\t\t\t\tcan impact whether Config\n\t\t\t\thas 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.\n\t\t\t\tMake sure that the policies in effect align with how you intend to use Config.

\n

\n Keep Minimum Permisions When Reusing an IAM role\n

\n

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

\n

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

\n

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

\n

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

\n
" } }, "recordingGroup": { "target": "com.amazonaws.configservice#RecordingGroup", "traits": { - "smithy.api#documentation": "

Specifies which resource types Config\n\t\t\trecords for configuration changes.

\n \n

\n High Number of Config Evaluations\n

\n

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

\n

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

\n
" + "smithy.api#documentation": "

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

\n \n

\n High Number of Config Evaluations\n

\n

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

\n

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

\n

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\n\t\t\t\tincreased configuration recording and rule evaluations.

\n
" } }, "recordingMode": { "target": "com.amazonaws.configservice#RecordingMode", "traits": { - "smithy.api#documentation": "

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

\n \n \n

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

\n
\n

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

" + "smithy.api#documentation": "

Specifies the default recording frequency for the configuration recorder.\n\t\t\t\n\t\t\tConfig supports Continuous recording and Daily recording.

\n \n \n

\n Some resource types require continuous recording\n

\n

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

\n
\n

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

" + } + }, + "recordingScope": { + "target": "com.amazonaws.configservice#RecordingScope", + "traits": { + "smithy.api#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": { + "target": "com.amazonaws.configservice#ServicePrincipal", + "traits": { + "smithy.api#documentation": "

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

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Records configuration changes to the resource types in scope.

\n

For more information about the configuration recorder,\n\t\t\tsee \n Working with the Configuration Recorder\n in the Config Developer Guide.

" + } + }, + "com.amazonaws.configservice#ConfigurationRecorderFilter": { + "type": "structure", + "members": { + "filterName": { + "target": "com.amazonaws.configservice#ConfigurationRecorderFilterName", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "filterValue": { + "target": "com.amazonaws.configservice#ConfigurationRecorderFilterValues", + "traits": { + "smithy.api#documentation": "

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

\n

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

\n

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

" } } }, "traits": { - "smithy.api#documentation": "

Records configuration changes to your specified resource types.\n\t\t\tFor more information about the configuration recorder,\n\t\t\tsee \n Managing the Configuration Recorder\n in the Config Developer Guide.

" + "smithy.api#documentation": "

Filters configuration recorders by recording scope.

" + } + }, + "com.amazonaws.configservice#ConfigurationRecorderFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.configservice#ConfigurationRecorderFilter" + } + }, + "com.amazonaws.configservice#ConfigurationRecorderFilterName": { + "type": "enum", + "members": { + "RecordingScope": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "recordingScope" + } + } + } + }, + "com.amazonaws.configservice#ConfigurationRecorderFilterValue": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[0-9a-zA-Z\\\\*\\\\.\\\\\\/\\\\?-]*$" + } + }, + "com.amazonaws.configservice#ConfigurationRecorderFilterValues": { + "type": "list", + "member": { + "target": "com.amazonaws.configservice#ConfigurationRecorderFilterValue" } }, "com.amazonaws.configservice#ConfigurationRecorderList": { @@ -1844,6 +2047,12 @@ "com.amazonaws.configservice#ConfigurationRecorderStatus": { "type": "structure", "members": { + "arn": { + "target": "com.amazonaws.configservice#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

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

" + } + }, "name": { "target": "com.amazonaws.configservice#String", "traits": { @@ -1892,10 +2101,16 @@ "traits": { "smithy.api#documentation": "

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

" } + }, + "servicePrincipal": { + "target": "com.amazonaws.configservice#ServicePrincipal", + "traits": { + "smithy.api#documentation": "

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

" + } } }, "traits": { - "smithy.api#documentation": "

The current status of the configuration recorder.

\n \n

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

\n
" + "smithy.api#documentation": "

The current status of the configuration recorder.

\n

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

" } }, "com.amazonaws.configservice#ConfigurationRecorderStatusList": { @@ -1904,9 +2119,65 @@ "target": "com.amazonaws.configservice#ConfigurationRecorderStatus" } }, + "com.amazonaws.configservice#ConfigurationRecorderSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.configservice#ConfigurationRecorderSummary" + } + }, + "com.amazonaws.configservice#ConfigurationRecorderSummary": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.configservice#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.configservice#RecorderName", + "traits": { + "smithy.api#documentation": "

The name of the configuration recorder.

", + "smithy.api#required": {} + } + }, + "servicePrincipal": { + "target": "com.amazonaws.configservice#ServicePrincipal", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "recordingScope": { + "target": "com.amazonaws.configservice#RecordingScope", + "traits": { + "smithy.api#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).

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

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

" + } + }, "com.amazonaws.configservice#ConfigurationStateId": { "type": "string" }, + "com.amazonaws.configservice#ConflictException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.configservice#ErrorMessage", + "traits": { + "smithy.api#documentation": "

Error executing the command

" + } + } + }, + "traits": { + "smithy.api#documentation": "

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

\n

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

\n

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\n\t\t\trecorder.

\n

For AssociateResourceTypes and DisassociateResourceTypes, one of the following errors:

\n ", + "smithy.api#error": "client" + } + }, "com.amazonaws.configservice#ConformancePackArn": { "type": "string", "traits": { @@ -2608,7 +2879,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the specified Config rule and all of its evaluation\n\t\t\tresults.

\n

Config sets the state of a rule to DELETING\n\t\t\tuntil the deletion is complete. You cannot update a rule while it is\n\t\t\tin this state. If you make a PutConfigRule or\n\t\t\t\tDeleteConfigRule request for the rule, you will\n\t\t\treceive a ResourceInUseException.

\n

You can check the state of a rule by using the\n\t\t\t\tDescribeConfigRules request.

" + "smithy.api#documentation": "

Deletes the specified Config rule and all of its evaluation\n\t\t\tresults.

\n

Config sets the state of a rule to DELETING\n\t\t\tuntil the deletion is complete. You cannot update a rule while it is\n\t\t\tin this state. If you make a PutConfigRule or\n\t\t\t\tDeleteConfigRule request for the rule, you will\n\t\t\treceive a ResourceInUseException.

\n

You can check the state of a rule by using the\n\t\t\t\tDescribeConfigRules request.

\n \n

\n Recommendation: Stop recording resource compliance before deleting rules\n

\n

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

\n

Best practice:

\n
    \n
  1. \n

    Stop recording AWS::Config::ResourceCompliance\n

    \n
  2. \n
  3. \n

    Delete rule(s)

    \n
  4. \n
  5. \n

    Turn on recording for AWS::Config::ResourceCompliance\n

    \n
  6. \n
\n
" } }, "com.amazonaws.configservice#DeleteConfigRuleRequest": { @@ -2670,10 +2941,13 @@ "errors": [ { "target": "com.amazonaws.configservice#NoSuchConfigurationRecorderException" + }, + { + "target": "com.amazonaws.configservice#UnmodifiableEntityException" } ], "traits": { - "smithy.api#documentation": "

Deletes the configuration recorder.

\n

After the configuration recorder is deleted, Config will\n\t\t\tnot record resource configuration changes until you create a new\n\t\t\tconfiguration recorder.

\n

This action does not delete the configuration information that\n\t\t\twas previously recorded. You will be able to access the previously\n\t\t\trecorded information by using the\n\t\t\t\tGetResourceConfigHistory action, but you will not\n\t\t\tbe able to access this information in the Config console until\n\t\t\tyou create a new configuration recorder.

" + "smithy.api#documentation": "

Deletes the customer managed configuration recorder.

\n

This operation does not delete the configuration information that\n\t\t\twas previously recorded. You will be able to access the previously\n\t\t\trecorded information by using the\n\t\t\tGetResourceConfigHistory operation, but you will not\n\t\t\tbe able to access this information in the Config console until\n\t\t\tyou have created a new customer managed configuration recorder.

" } }, "com.amazonaws.configservice#DeleteConfigurationRecorderRequest": { @@ -2682,13 +2956,13 @@ "ConfigurationRecorderName": { "target": "com.amazonaws.configservice#RecorderName", "traits": { - "smithy.api#documentation": "

The name of the configuration recorder to be deleted. You can\n\t\t\tretrieve the name of your configuration recorder by using the\n\t\t\t\tDescribeConfigurationRecorders action.

", + "smithy.api#documentation": "

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

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The request object for the\n\t\t\t\tDeleteConfigurationRecorder action.

", + "smithy.api#documentation": "

The request object for the\n\t\t\t\tDeleteConfigurationRecorder operation.

", "smithy.api#input": {} } }, @@ -2744,7 +3018,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the delivery channel.

\n

Before you can delete the delivery channel, you must stop the\n\t\t\tconfiguration recorder by using the StopConfigurationRecorder action.

" + "smithy.api#documentation": "

Deletes the delivery channel.

\n

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.

" } }, "com.amazonaws.configservice#DeleteDeliveryChannelRequest": { @@ -2753,7 +3027,7 @@ "DeliveryChannelName": { "target": "com.amazonaws.configservice#ChannelName", "traits": { - "smithy.api#documentation": "

The name of the delivery channel to delete.

", + "smithy.api#documentation": "

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

", "smithy.api#required": {} } } @@ -3106,6 +3380,66 @@ "smithy.api#input": {} } }, + "com.amazonaws.configservice#DeleteServiceLinkedConfigurationRecorder": { + "type": "operation", + "input": { + "target": "com.amazonaws.configservice#DeleteServiceLinkedConfigurationRecorderRequest" + }, + "output": { + "target": "com.amazonaws.configservice#DeleteServiceLinkedConfigurationRecorderResponse" + }, + "errors": [ + { + "target": "com.amazonaws.configservice#ConflictException" + }, + { + "target": "com.amazonaws.configservice#NoSuchConfigurationRecorderException" + }, + { + "target": "com.amazonaws.configservice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes an existing service-linked configuration recorder.

\n

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

\n \n

\n The recording scope determines if you receive configuration items\n

\n

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.

\n
" + } + }, + "com.amazonaws.configservice#DeleteServiceLinkedConfigurationRecorderRequest": { + "type": "structure", + "members": { + "ServicePrincipal": { + "target": "com.amazonaws.configservice#ServicePrincipal", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.configservice#DeleteServiceLinkedConfigurationRecorderResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.configservice#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.configservice#RecorderName", + "traits": { + "smithy.api#documentation": "

The name of the specified configuration recorder.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.configservice#DeleteStoredQuery": { "type": "operation", "input": { @@ -3445,7 +3779,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

\n \n

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

\n
", + "smithy.api#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 \n\t\t\tconformance pack. Also returns the total rule count which includes compliant rules, noncompliant rules, and rules that cannot be evaluated due to insufficient data.

\n \n

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

\n
", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -3598,7 +3932,7 @@ } ], "traits": { - "smithy.api#documentation": "

Indicates whether the specified Config rules are compliant.\n\t\t\tIf a rule is noncompliant, this action returns the number of Amazon Web Services\n\t\t\tresources that do not comply with the rule.

\n

A rule is compliant if all of the evaluated resources comply\n\t\t\twith it. It is noncompliant if any of these resources do not\n\t\t\tcomply.

\n

If Config has no current evaluation results for the rule,\n\t\t\tit returns INSUFFICIENT_DATA. This result might\n\t\t\tindicate one of the following conditions:

\n ", + "smithy.api#documentation": "

Indicates whether the specified Config rules are compliant.\n\t\t\tIf a rule is noncompliant, this operation returns the number of Amazon Web Services\n\t\t\tresources that do not comply with the rule.

\n

A rule is compliant if all of the evaluated resources comply\n\t\t\twith it. It is noncompliant if any of these resources do not\n\t\t\tcomply.

\n

If Config has no current evaluation results for the rule,\n\t\t\tit returns INSUFFICIENT_DATA. This result might\n\t\t\tindicate one of the following conditions:

\n ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -3671,7 +4005,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

\n

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

\n

If Config has no current evaluation results for the\n\t\t\tresource, it returns INSUFFICIENT_DATA. This result\n\t\t\tmight indicate one of the following conditions about the rules that\n\t\t\tevaluate the resource:

\n ", + "smithy.api#documentation": "

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

\n

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

\n

If Config has no current evaluation results for the\n\t\t\tresource, it returns INSUFFICIENT_DATA. This result\n\t\t\tmight indicate one of the following conditions about the rules that\n\t\t\tevaluate the resource:

\n ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -3686,7 +4020,7 @@ "ResourceType": { "target": "com.amazonaws.configservice#StringWithCharLimit256", "traits": { - "smithy.api#documentation": "

The types of Amazon Web Services resources for which you want compliance\n\t\t\tinformation (for example, AWS::EC2::Instance). For this\n\t\t\taction, you can specify that the resource type is an Amazon Web Services account by\n\t\t\tspecifying AWS::::Account.

" + "smithy.api#documentation": "

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

" } }, "ResourceId": { @@ -4018,7 +4352,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the details of one or more configuration aggregators.\n\t\t\tIf the configuration aggregator is not specified, this action\n\t\t\treturns the details for all the configuration aggregators associated\n\t\t\twith the account.

", + "smithy.api#documentation": "

Returns the details of one or more configuration aggregators.\n\t\t\tIf the configuration aggregator is not specified, this operation\n\t\t\treturns the details for all the configuration aggregators associated\n\t\t\twith the account.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -4085,10 +4419,13 @@ "errors": [ { "target": "com.amazonaws.configservice#NoSuchConfigurationRecorderException" + }, + { + "target": "com.amazonaws.configservice#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Returns the current status of the specified configuration\n\t\t\trecorder as well as the status of the last recording event for the recorder. If a configuration recorder is not specified, this action\n\t\t\treturns the status of all configuration recorders associated with\n\t\t\tthe account.

\n \n

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

\n
" + "smithy.api#documentation": "

Returns the current status of the configuration\n\t\t\trecorder you specify as well as the status of the last recording event for the configuration recorders.

\n

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

\n

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

\n \n

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

\n
" } }, "com.amazonaws.configservice#DescribeConfigurationRecorderStatusRequest": { @@ -4097,7 +4434,19 @@ "ConfigurationRecorderNames": { "target": "com.amazonaws.configservice#ConfigurationRecorderNameList", "traits": { - "smithy.api#documentation": "

The name(s) of the configuration recorder. If the name is not\n\t\t\tspecified, the action returns the current status of all the\n\t\t\tconfiguration recorders associated with the account.

" + "smithy.api#documentation": "

The name of the configuration recorder. If the name is not\n\t\t\tspecified, the opertation returns the status for the customer managed configuration recorder configured for the\n\t\t\taccount, if applicable.

\n \n

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

\n
" + } + }, + "ServicePrincipal": { + "target": "com.amazonaws.configservice#ServicePrincipal", + "traits": { + "smithy.api#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": { + "target": "com.amazonaws.configservice#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

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

" } } }, @@ -4132,10 +4481,13 @@ "errors": [ { "target": "com.amazonaws.configservice#NoSuchConfigurationRecorderException" + }, + { + "target": "com.amazonaws.configservice#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Returns the details for the specified configuration recorders.\n\t\t\tIf the configuration recorder is not specified, this action returns\n\t\t\tthe details for all configuration recorders associated with the\n\t\t\taccount.

\n \n

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

\n
", + "smithy.api#documentation": "

Returns details for the configuration recorder you specify.

\n

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

\n \n

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

\n
", "smithy.test#smokeTests": [ { "id": "DescribeConfigurationRecordersSuccess", @@ -4157,7 +4509,19 @@ "ConfigurationRecorderNames": { "target": "com.amazonaws.configservice#ConfigurationRecorderNameList", "traits": { - "smithy.api#documentation": "

A list of configuration recorder names.

" + "smithy.api#documentation": "

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

" + } + }, + "ServicePrincipal": { + "target": "com.amazonaws.configservice#ServicePrincipal", + "traits": { + "smithy.api#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": { + "target": "com.amazonaws.configservice#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

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

" } } }, @@ -4456,7 +4820,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the current status of the specified delivery channel.\n\t\t\tIf a delivery channel is not specified, this action returns the\n\t\t\tcurrent status of all delivery channels associated with the\n\t\t\taccount.

\n \n

Currently, you can specify only one delivery channel per\n\t\t\t\tregion in your account.

\n
" + "smithy.api#documentation": "

Returns the current status of the specified delivery channel.\n\t\t\tIf a delivery channel is not specified, this operation returns the\n\t\t\tcurrent status of all delivery channels associated with the\n\t\t\taccount.

\n \n

Currently, you can specify only one delivery channel per\n\t\t\t\tregion in your account.

\n
" } }, "com.amazonaws.configservice#DescribeDeliveryChannelStatusRequest": { @@ -4503,7 +4867,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns details about the specified delivery channel. If a\n\t\t\tdelivery channel is not specified, this action returns the details\n\t\t\tof all delivery channels associated with the account.

\n \n

Currently, you can specify only one delivery channel per\n\t\t\t\tregion in your account.

\n
" + "smithy.api#documentation": "

Returns details about the specified delivery channel. If a\n\t\t\tdelivery channel is not specified, this operation returns the details\n\t\t\tof all delivery channels associated with the account.

\n \n

Currently, you can specify only one delivery channel per\n\t\t\t\tregion in your account.

\n
" } }, "com.amazonaws.configservice#DescribeDeliveryChannelsRequest": { @@ -5087,7 +5451,7 @@ "ConfigRuleName": { "target": "com.amazonaws.configservice#ConfigRuleName", "traits": { - "smithy.api#documentation": "

A list of Config rule names.

", + "smithy.api#documentation": "

The name of the Config rule.

", "smithy.api#required": {} } }, @@ -5155,7 +5519,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the details of one or more retention configurations. If\n\t\t\tthe retention configuration name is not specified, this action\n\t\t\treturns the details for all the retention configurations for that\n\t\t\taccount.

\n \n

Currently, Config supports only one retention\n\t\t\t\tconfiguration per region in your account.

\n
", + "smithy.api#documentation": "

Returns the details of one or more retention configurations. If\n\t\t\tthe retention configuration name is not specified, this operation\n\t\t\treturns the details for all the retention configurations for that\n\t\t\taccount.

\n \n

Currently, Config supports only one retention\n\t\t\t\tconfiguration per region in your account.

\n
", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -5212,6 +5576,65 @@ } } }, + "com.amazonaws.configservice#DisassociateResourceTypes": { + "type": "operation", + "input": { + "target": "com.amazonaws.configservice#DisassociateResourceTypesRequest" + }, + "output": { + "target": "com.amazonaws.configservice#DisassociateResourceTypesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.configservice#ConflictException" + }, + { + "target": "com.amazonaws.configservice#NoSuchConfigurationRecorderException" + }, + { + "target": "com.amazonaws.configservice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

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

\n

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

" + } + }, + "com.amazonaws.configservice#DisassociateResourceTypesRequest": { + "type": "structure", + "members": { + "ConfigurationRecorderArn": { + "target": "com.amazonaws.configservice#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#required": {} + } + }, + "ResourceTypes": { + "target": "com.amazonaws.configservice#ResourceTypeList", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.configservice#DisassociateResourceTypesResponse": { + "type": "structure", + "members": { + "ConfigurationRecorder": { + "target": "com.amazonaws.configservice#ConfigurationRecorder", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.configservice#DiscoveredResourceIdentifierList": { "type": "list", "member": { @@ -5520,7 +5943,7 @@ } }, "traits": { - "smithy.api#documentation": "

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

\n

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

\n \n

\n How to use the exclusion recording strategy \n

\n

To use this option, you must set the useOnly\n\t\t\t\tfield of RecordingStrategy\n\t\t\t\tto EXCLUSION_BY_RESOURCE_TYPES.

\n

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

\n

\n Global resource types and the exclusion recording strategy \n

\n

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

\n

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.\n\t\t\t\tYou 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:

\n \n
" + "smithy.api#documentation": "

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

\n

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

\n \n

\n How to use the exclusion recording strategy \n

\n

To use this option, you must set the useOnly\n\t\t\t\tfield of RecordingStrategy\n\t\t\t\tto EXCLUSION_BY_RESOURCE_TYPES.

\n

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

\n

\n Global resource types and the exclusion recording strategy \n

\n

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

\n

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.\n\t\t\t\tYou cannot be record the global IAM resouce types in Regions supported by Config after February 2022. For a list of those Regions,\n\t\t\t\tsee Recording Amazon Web Services Resources | Global Resources.

\n
" } }, "com.amazonaws.configservice#ExecutionControls": { @@ -6118,7 +6541,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

" + "smithy.api#documentation": "

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

\n \n

The API does not return results for deleted resources.

\n
" } }, "com.amazonaws.configservice#GetAggregateResourceConfigRequest": { @@ -7241,7 +7664,7 @@ } }, "traits": { - "smithy.api#documentation": "

Your Amazon S3 bucket policy does not permit Config to\n\t\t\twrite to it.

", + "smithy.api#documentation": "

Your Amazon S3 bucket policy does not allow Config to\n\t\t\twrite to it.

", "smithy.api#error": "client" } }, @@ -7256,7 +7679,7 @@ } }, "traits": { - "smithy.api#documentation": "

Indicates one of the following errors:

\n ", + "smithy.api#documentation": "

Indicates one of the following errors:

\n ", "smithy.api#error": "client" } }, @@ -7277,7 +7700,7 @@ } }, "traits": { - "smithy.api#documentation": "

You have provided a name for the configuration recorder that is not\n\t\t\tvalid.

", + "smithy.api#documentation": "

You have provided a name for the customer managed configuration recorder that is not\n\t\t\tvalid.

", "smithy.api#error": "client" } }, @@ -7367,7 +7790,7 @@ } }, "traits": { - "smithy.api#documentation": "

Indicates one of the following errors:

\n ", + "smithy.api#documentation": "

One of the following errors:

\n ", "smithy.api#error": "client" } }, @@ -7397,7 +7820,7 @@ } }, "traits": { - "smithy.api#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.

", + "smithy.api#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.

", "smithy.api#error": "client" } }, @@ -7472,7 +7895,7 @@ } }, "traits": { - "smithy.api#documentation": "

You cannot delete the delivery channel you specified because\n\t\t\tthe configuration recorder is running.

", + "smithy.api#documentation": "

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

", "smithy.api#error": "client" } }, @@ -7503,7 +7926,7 @@ } }, "traits": { - "smithy.api#documentation": "

For StartConfigRulesEvaluation API, this exception\n\t\t\tis thrown if an evaluation is in progress or if you call the StartConfigRulesEvaluation API more than once per\n\t\t\tminute.

\n

For PutConfigurationAggregator API, this exception\n\t\t\tis thrown if the number of accounts and aggregators exceeds the\n\t\t\tlimit.

", + "smithy.api#documentation": "

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

\n

For StartConfigRulesEvaluation API, this exception\n\t\t\tis thrown if an evaluation is in progress or if you call the StartConfigRulesEvaluation API more than once per\n\t\t\tminute.

\n

For PutConfigurationAggregator API, this exception\n\t\t\tis thrown if the number of accounts and aggregators exceeds the\n\t\t\tlimit.

", "smithy.api#error": "client" } }, @@ -7600,6 +8023,77 @@ "smithy.api#output": {} } }, + "com.amazonaws.configservice#ListConfigurationRecorders": { + "type": "operation", + "input": { + "target": "com.amazonaws.configservice#ListConfigurationRecordersRequest" + }, + "output": { + "target": "com.amazonaws.configservice#ListConfigurationRecordersResponse" + }, + "errors": [ + { + "target": "com.amazonaws.configservice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "ConfigurationRecorderSummaries", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.configservice#ListConfigurationRecordersRequest": { + "type": "structure", + "members": { + "Filters": { + "target": "com.amazonaws.configservice#ConfigurationRecorderFilterList", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "MaxResults": { + "target": "com.amazonaws.configservice#MaxResults", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

The maximum number of results to include in the response.

" + } + }, + "NextToken": { + "target": "com.amazonaws.configservice#NextToken", + "traits": { + "smithy.api#documentation": "

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

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.configservice#ListConfigurationRecordersResponse": { + "type": "structure", + "members": { + "ConfigurationRecorderSummaries": { + "target": "com.amazonaws.configservice#ConfigurationRecorderSummaries", + "traits": { + "smithy.api#documentation": "

A list of ConfigurationRecorderSummary objects that includes.

", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.configservice#NextToken", + "traits": { + "smithy.api#documentation": "

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

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.configservice#ListConformancePackComplianceScores": { "type": "operation", "input": { @@ -7933,7 +8427,7 @@ "NextToken": { "target": "com.amazonaws.configservice#String", "traits": { - "smithy.api#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. \n\t\t\tTo retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. \n\t\t\tIf there are no remaining results, the previous response object's NextToken parameter is set to null.

" + "smithy.api#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. \n\t\t\tTo retrieve the next set of results, call this operation again and assign that token to the request object's NextToken parameter. \n\t\t\tIf there are no remaining results, the previous response object's NextToken parameter is set to null.

" } } }, @@ -7979,7 +8473,7 @@ "ResourceArn": { "target": "com.amazonaws.configservice#AmazonResourceName", "traits": { - "smithy.api#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.

", + "smithy.api#documentation": "

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

\n ", "smithy.api#required": {} } }, @@ -8147,6 +8641,16 @@ "smithy.api#error": "client" } }, + "com.amazonaws.configservice#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 20 + } + } + }, "com.amazonaws.configservice#MaximumExecutionFrequency": { "type": "enum", "members": { @@ -8334,7 +8838,7 @@ } }, "traits": { - "smithy.api#documentation": "

There are no configuration recorders available to provide the\n\t\t\trole needed to describe your resources. Create a configuration\n\t\t\trecorder.

", + "smithy.api#documentation": "

There are no customer managed configuration recorders available to record your resources. Use the PutConfigurationRecorder operation to create the customer managed configuration\n\t\t\trecorder.

", "smithy.api#error": "client" } }, @@ -8577,7 +9081,7 @@ } }, "traits": { - "smithy.api#documentation": "

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

\n \n

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.

", + "smithy.api#documentation": "

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

\n \n

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.

", "smithy.api#error": "client" } }, @@ -9599,7 +10103,7 @@ } ], "traits": { - "smithy.api#documentation": "

Authorizes the aggregator account and region to collect data\n\t\t\tfrom the source account and region.

\n \n

\n 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,\n\t\t\tConfig 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.

\n
" + "smithy.api#documentation": "

Authorizes the aggregator account and region to collect data\n\t\t\tfrom the source account and region.

\n \n

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

\n

\n 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,\n\t\t\tConfig 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.

\n

Use TagResource and UntagResource to update tags after creation.

\n
" } }, "com.amazonaws.configservice#PutAggregationAuthorizationRequest": { @@ -9670,7 +10174,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

\n

There are two types of rules: Config Managed Rules and Config Custom Rules.\n\t\t\tYou can use PutConfigRule to create both Config Managed Rules and Config Custom Rules.

\n

Config Managed Rules are predefined,\n\t\t\tcustomizable rules created by Config. For a list of managed rules, see\n\t\t\tList of Config\n\t\t\t\tManaged Rules. If you are adding an Config managed rule, you must specify the\n\t\t\trule's identifier for the SourceIdentifier key.

\n

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

\n

If you are adding a new Config Custom Lambda rule,\n\t\t\tyou first need to create an Lambda function that the rule invokes to evaluate\n\t\t\tyour resources. When you use PutConfigRule to add a Custom Lambda rule to Config, you must specify the Amazon Resource\n\t\t\tName (ARN) that Lambda assigns to the function. You specify the ARN\n\t\t\tin the SourceIdentifier key. This key is part of the\n\t\t\tSource object, which is part of the\n\t\t\tConfigRule object.

\n

For any new Config rule that you add, specify the\n\t\t\t\tConfigRuleName in the ConfigRule\n\t\t\tobject. Do not specify the ConfigRuleArn or the\n\t\t\tConfigRuleId. These values are generated by Config for new rules.

\n

If you are updating a rule that you added previously, you can\n\t\t\tspecify the rule by ConfigRuleName,\n\t\t\t\tConfigRuleId, or ConfigRuleArn in the\n\t\t\t\tConfigRule data type that you use in this\n\t\t\trequest.

\n

For more information about developing and using Config\n\t\t\trules, see Evaluating Resources with Config Rules\n\t\t\tin the Config Developer Guide.

\n \n

\n 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,\n\t\t\tConfig 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.

\n
" + "smithy.api#documentation": "

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

\n

There are two types of rules: Config Managed Rules and Config Custom Rules.\n\t\t\tYou can use PutConfigRule to create both Config Managed Rules and Config Custom Rules.

\n

Config Managed Rules are predefined,\n\t\t\tcustomizable rules created by Config. For a list of managed rules, see\n\t\t\tList of Config\n\t\t\t\tManaged Rules. If you are adding an Config managed rule, you must specify the\n\t\t\trule's identifier for the SourceIdentifier key.

\n

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

\n

If you are adding a new Config Custom Lambda rule,\n\t\t\tyou first need to create an Lambda function that the rule invokes to evaluate\n\t\t\tyour resources. When you use PutConfigRule to add a Custom Lambda rule to Config, you must specify the Amazon Resource\n\t\t\tName (ARN) that Lambda assigns to the function. You specify the ARN\n\t\t\tin the SourceIdentifier key. This key is part of the\n\t\t\tSource object, which is part of the\n\t\t\tConfigRule object.

\n

For any new Config rule that you add, specify the\n\t\t\t\tConfigRuleName in the ConfigRule\n\t\t\tobject. Do not specify the ConfigRuleArn or the\n\t\t\tConfigRuleId. These values are generated by Config for new rules.

\n

If you are updating a rule that you added previously, you can\n\t\t\tspecify the rule by ConfigRuleName,\n\t\t\t\tConfigRuleId, or ConfigRuleArn in the\n\t\t\t\tConfigRule data type that you use in this\n\t\t\trequest.

\n

For more information about developing and using Config\n\t\t\trules, see Evaluating Resources with Config Rules\n\t\t\tin the Config Developer Guide.

\n \n

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

\n

\n 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,\n\t\t\tConfig 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.

\n

Use TagResource and UntagResource to update tags after creation.

\n
" } }, "com.amazonaws.configservice#PutConfigRuleRequest": { @@ -9723,7 +10227,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates and updates the configuration aggregator with the\n\t\t\tselected source accounts and regions. The source account can be\n\t\t\tindividual account(s) or an organization.

\n

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

\n \n

Config should be enabled in source accounts and regions\n\t\t\t\tyou want to aggregate.

\n

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. \n\t\t\t\tIf the caller is a management account, Config calls EnableAwsServiceAccess API to enable integration between Config and Organizations.\n\t\t\t\tIf the caller is a registered delegated administrator, Config calls ListDelegatedAdministrators API to verify whether the caller is a valid delegated administrator.

\n

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

\n
\n \n

\n 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,\n\t\t\tConfig 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.

\n
" + "smithy.api#documentation": "

Creates and updates the configuration aggregator with the\n\t\t\tselected source accounts and regions. The source account can be\n\t\t\tindividual account(s) or an organization.

\n

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

\n \n

Config should be enabled in source accounts and regions\n\t\t\t\tyou want to aggregate.

\n

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. \n\t\t\t\tIf the caller is a management account, Config calls EnableAwsServiceAccess API to enable integration between Config and Organizations.\n\t\t\t\tIf the caller is a registered delegated administrator, Config calls ListDelegatedAdministrators API to verify whether the caller is a valid delegated administrator.

\n

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

\n
\n \n

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

\n

\n 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,\n\t\t\tConfig 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.

\n

Use TagResource and UntagResource to update tags after creation.

\n
" } }, "com.amazonaws.configservice#PutConfigurationAggregatorRequest": { @@ -9753,6 +10257,12 @@ "traits": { "smithy.api#documentation": "

An array of tag object.

" } + }, + "AggregatorFilters": { + "target": "com.amazonaws.configservice#AggregatorFilters", + "traits": { + "smithy.api#documentation": "

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

" + } } }, "traits": { @@ -9794,12 +10304,15 @@ { "target": "com.amazonaws.configservice#MaxNumberOfConfigurationRecordersExceededException" }, + { + "target": "com.amazonaws.configservice#UnmodifiableEntityException" + }, { "target": "com.amazonaws.configservice#ValidationException" } ], "traits": { - "smithy.api#documentation": "

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

\n

You can also use this action to change the roleARN\n\t\t\tor the recordingGroup of an existing recorder.\n\t\t\tFor more information, see \n Managing the Configuration Recorder\n in the Config Developer Guide.

\n \n

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

\n

If the configuration recorder does not have the\n\t\t\t\t\trecordingGroup field\n\t\t\t\tspecified, the default is to record all supported resource\n\t\t\t\ttypes.

\n
" + "smithy.api#documentation": "

Creates or updates the customer managed configuration recorder.

\n

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.

\n

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

\n

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

\n \n

\n One customer managed configuration recorder per account per Region\n

\n

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

\n

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

\n

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

\n

\n Tags are added at creation and cannot be updated\n

\n

\n 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,\n\t\t\t\tConfig 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.

\n

Use TagResource and UntagResource to update tags after creation.

\n
" } }, "com.amazonaws.configservice#PutConfigurationRecorderRequest": { @@ -9808,9 +10321,15 @@ "ConfigurationRecorder": { "target": "com.amazonaws.configservice#ConfigurationRecorder", "traits": { - "smithy.api#documentation": "

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

", + "smithy.api#documentation": "

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

", "smithy.api#required": {} } + }, + "Tags": { + "target": "com.amazonaws.configservice#TagsList", + "traits": { + "smithy.api#documentation": "

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

" + } } }, "traits": { @@ -9947,7 +10466,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a delivery channel object to deliver configuration\n\t\t\tinformation and other compliance information to an Amazon S3 bucket and Amazon SNS topic.\n\t\t\tFor more information,\n\t\t\tsee Notifications that Config Sends to an Amazon SNS topic.

\n

Before you can create a delivery channel, you must create a\n\t\t\tconfiguration recorder.

\n

You can use this action to change the Amazon S3 bucket or an\n\t\t\tAmazon SNS topic of the existing delivery channel. To change the\n\t\t\tAmazon S3 bucket or an Amazon SNS topic, call this action and\n\t\t\tspecify the changed values for the S3 bucket and the SNS topic. If\n\t\t\tyou specify a different value for either the S3 bucket or the SNS\n\t\t\ttopic, this action will keep the existing value for the parameter\n\t\t\tthat is not changed.

\n \n

You can have only one delivery channel per region in your\n\t\t\t\taccount.

\n
" + "smithy.api#documentation": "

Creates or updates a delivery channel to deliver configuration\n\t\t\tinformation and other compliance information.

\n

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

\n

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

\n \n

\n One delivery channel per account per Region\n

\n

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

\n
" } }, "com.amazonaws.configservice#PutDeliveryChannelRequest": { @@ -9956,7 +10475,7 @@ "DeliveryChannel": { "target": "com.amazonaws.configservice#DeliveryChannel", "traits": { - "smithy.api#documentation": "

The configuration delivery channel object that delivers the\n\t\t\tconfiguration information to an Amazon S3 bucket and to an Amazon\n\t\t\tSNS topic.

", + "smithy.api#documentation": "

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

", "smithy.api#required": {} } } @@ -9986,7 +10505,7 @@ } ], "traits": { - "smithy.api#documentation": "

Used by an Lambda function to deliver evaluation results to\n\t\t\tConfig. This action is required in every Lambda function\n\t\t\tthat is invoked by an Config rule.

" + "smithy.api#documentation": "

Used by an Lambda function to deliver evaluation results to\n\t\t\tConfig. This operation is required in every Lambda function\n\t\t\tthat is invoked by an Config rule.

" } }, "com.amazonaws.configservice#PutEvaluationsRequest": { @@ -10342,7 +10861,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

\n \n

\n Exceptions block auto remediation\n

\n

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

\n
\n \n

\n Manual remediation is recommended when placing an exception\n

\n

When placing an exception on an Amazon Web Services resource, it is recommended that remediation is set as manual remediation until\n\t\t\tthe given Config rule for the specified resource evaluates the resource as NON_COMPLIANT.\n\t\t\tOnce 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.\n\t\t\tOtherwise, using auto-remediation before a NON_COMPLIANT evaluation result can delete resources before the exception is applied.

\n
\n \n

\n Exceptions can only be performed on non-compliant resources\n

\n

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

\n
\n \n

\n Auto remediation can be initiated even for compliant resources\n

\n

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

\n

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.

\n
" + "smithy.api#documentation": "

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

\n \n

\n Exceptions block auto remediation\n

\n

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

\n
\n \n

\n Manual remediation is recommended when placing an exception\n

\n

When placing an exception on an Amazon Web Services resource, it is recommended that remediation is set as manual remediation until\n\t\t\tthe given Config rule for the specified resource evaluates the resource as NON_COMPLIANT.\n\t\t\tOnce 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.\n\t\t\tOtherwise, using auto-remediation before a NON_COMPLIANT evaluation result can delete resources before the exception is applied.

\n
\n \n

\n Exceptions can only be performed on non-compliant resources\n

\n

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

\n
\n \n

\n Exceptions cannot be placed on service-linked remediation actions\n

\n

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

\n
\n \n

\n Auto remediation can be initiated even for compliant resources\n

\n

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

\n

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.

\n
" } }, "com.amazonaws.configservice#PutRemediationExceptionsRequest": { @@ -10516,6 +11035,73 @@ "smithy.api#output": {} } }, + "com.amazonaws.configservice#PutServiceLinkedConfigurationRecorder": { + "type": "operation", + "input": { + "target": "com.amazonaws.configservice#PutServiceLinkedConfigurationRecorderRequest" + }, + "output": { + "target": "com.amazonaws.configservice#PutServiceLinkedConfigurationRecorderResponse" + }, + "errors": [ + { + "target": "com.amazonaws.configservice#ConflictException" + }, + { + "target": "com.amazonaws.configservice#InsufficientPermissionsException" + }, + { + "target": "com.amazonaws.configservice#LimitExceededException" + }, + { + "target": "com.amazonaws.configservice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

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

\n

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

\n

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

\n

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.

\n \n

\n The recording scope determines if you receive configuration items\n

\n

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.

\n

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

\n

Use TagResource and UntagResource to update tags after creation.

\n
" + } + }, + "com.amazonaws.configservice#PutServiceLinkedConfigurationRecorderRequest": { + "type": "structure", + "members": { + "ServicePrincipal": { + "target": "com.amazonaws.configservice#ServicePrincipal", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.configservice#TagsList", + "traits": { + "smithy.api#documentation": "

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

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.configservice#PutServiceLinkedConfigurationRecorderResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.configservice#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "Name": { + "target": "com.amazonaws.configservice#RecorderName", + "traits": { + "smithy.api#documentation": "

The name of the specified configuration recorder.

\n

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

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.configservice#PutStoredQuery": { "type": "operation", "input": { @@ -10536,7 +11122,7 @@ } ], "traits": { - "smithy.api#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.\n\t\t\tYou can create upto 300 queries in a single Amazon Web Services account and a single Amazon Web Services Region.

\n \n

\n 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,\n\t\t\tConfig 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.

\n
" + "smithy.api#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.\n\t\t\tYou can create upto 300 queries in a single Amazon Web Services account and a single Amazon Web Services Region.

\n \n

\n Tags are added at creation and cannot be updated\n

\n

\n 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,\n\t\t\tConfig 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.

\n
" } }, "com.amazonaws.configservice#PutStoredQueryRequest": { @@ -10667,6 +11253,12 @@ "traits": { "smithy.api#enumValue": "Failure" } + }, + "NotApplicable": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NotApplicable" + } } } }, @@ -10701,7 +11293,7 @@ "target": "com.amazonaws.configservice#IncludeGlobalResourceTypes", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

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

\n \n \n

\n Aurora global clusters are recorded in all enabled Regions\n

\n

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.\n\t\t\t\tThe includeGlobalResourceTypes option is a bundle which only applies to IAM users, groups, roles, and customer managed policies.\n\t\t\t

\n

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

\n
    \n
  1. \n

    \n Record all current and future resource types with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or

    \n
  2. \n
  3. \n

    \n Record specific resource types (INCLUSION_BY_RESOURCE_TYPES).

    \n
  4. \n
\n

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

\n
\n \n

\n includeGlobalResourceTypes and the exclusion recording strategy\n

\n

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

\n

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

\n

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.

\n
\n \n

\n Required and optional fields\n

\n

Before you set this field to true,\n\t\t\tset the allSupported field of RecordingGroup to\n\t\t\ttrue. Optionally, you can set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES.

\n
\n \n

\n Overriding fields\n

\n

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

\n

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\n\t\t\tin addition to setting the includeGlobalResourceTypes field to false.

\n
" + "smithy.api#documentation": "

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

\n \n

\n Aurora global clusters are recorded in all enabled Regions\n

\n

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.\n\t\t\t\tThe includeGlobalResourceTypes option is a bundle which only applies to IAM users, groups, roles, and customer managed policies.\n\t\t\t

\n

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

\n
    \n
  1. \n

    \n Record all current and future resource types with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or

    \n
  2. \n
  3. \n

    \n Record specific resource types (INCLUSION_BY_RESOURCE_TYPES).

    \n
  4. \n
\n

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

\n
\n \n

\n includeGlobalResourceTypes and the exclusion recording strategy\n

\n

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

\n

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

\n

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.

\n
\n \n

\n Required and optional fields\n

\n

Before you set this field to true,\n\t\t\tset the allSupported field of RecordingGroup to\n\t\t\ttrue. Optionally, you can set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES.

\n
\n \n

\n Overriding fields\n

\n

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

\n

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\n\t\t\tin addition to setting the includeGlobalResourceTypes field to false.

\n
" } }, "resourceTypes": { @@ -10719,7 +11311,7 @@ "recordingStrategy": { "target": "com.amazonaws.configservice#RecordingStrategy", "traits": { - "smithy.api#documentation": "

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

\n \n \n

\n Required and optional fields\n

\n

The recordingStrategy field is optional when you set the\n\t\t\tallSupported field of RecordingGroup to true.

\n

The recordingStrategy field is optional when you list resource types in the\n\t\t\t\tresourceTypes field of RecordingGroup.

\n

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

\n
\n \n

\n Overriding fields\n

\n

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

\n

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

\n
\n \n

\n Global resources types and the resource exclusion recording strategy\n

\n

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

\n

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

\n

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.\n\t\t\t\tYou 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:

\n \n
" + "smithy.api#documentation": "

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

\n \n \n

\n Required and optional fields\n

\n

The recordingStrategy field is optional when you set the\n\t\t\tallSupported field of RecordingGroup to true.

\n

The recordingStrategy field is optional when you list resource types in the\n\t\t\t\tresourceTypes field of RecordingGroup.

\n

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

\n
\n \n

\n Overriding fields\n

\n

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

\n

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

\n
\n \n

\n Global resources types and the resource exclusion recording strategy\n

\n

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

\n

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

\n

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.\n\t\t\t\tYou cannot be record the global IAM resouce types in Regions supported by Config after February 2022. For a list of those Regions,\n\t\t\t\tsee Recording Amazon Web Services Resources | Global Resources.

\n
" } } }, @@ -10733,7 +11325,7 @@ "recordingFrequency": { "target": "com.amazonaws.configservice#RecordingFrequency", "traits": { - "smithy.api#documentation": "

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

\n \n

Daily recording is not supported for the following resource types:

\n \n

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

\n
", + "smithy.api#documentation": "

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

\n \n

Daily recording cannot be specified for the following resource types:

\n \n

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

\n
", "smithy.api#required": {} } }, @@ -10760,7 +11352,7 @@ "resourceTypes": { "target": "com.amazonaws.configservice#RecordingModeResourceTypesList", "traits": { - "smithy.api#documentation": "

A comma-separated list that specifies which resource types Config\n\t\t\tincludes in the override.

\n \n

Daily recording is not supported for the following resource types:

\n \n
", + "smithy.api#documentation": "

A comma-separated list that specifies which resource types Config\n\t\t\tincludes in the override.

\n \n

Daily recording cannot be specified for the following resource types:

\n \n
", "smithy.api#required": {} } }, @@ -10794,6 +11386,23 @@ "target": "com.amazonaws.configservice#ResourceType" } }, + "com.amazonaws.configservice#RecordingScope": { + "type": "enum", + "members": { + "INTERNAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTERNAL" + } + }, + "PAID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PAID" + } + } + } + }, "com.amazonaws.configservice#RecordingStrategy": { "type": "structure", "members": { @@ -14152,6 +14761,22 @@ } } }, + "com.amazonaws.configservice#ResourceTypeValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}$" + } + }, + "com.amazonaws.configservice#ResourceTypeValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.configservice#ResourceTypeValue" + } + }, "com.amazonaws.configservice#ResourceTypes": { "type": "list", "member": { @@ -14511,6 +15136,32 @@ "smithy.api#output": {} } }, + "com.amazonaws.configservice#ServicePrincipal": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[\\w+=,.@-]+$" + } + }, + "com.amazonaws.configservice#ServicePrincipalValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[\\w+=,.@-]+$" + } + }, + "com.amazonaws.configservice#ServicePrincipalValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.configservice#ServicePrincipalValue" + } + }, "com.amazonaws.configservice#SortBy": { "type": "enum", "members": { @@ -14643,6 +15294,9 @@ "type": "service", "version": "2014-11-12", "operations": [ + { + "target": "com.amazonaws.configservice#AssociateResourceTypes" + }, { "target": "com.amazonaws.configservice#BatchGetAggregateResourceConfig" }, @@ -14691,6 +15345,9 @@ { "target": "com.amazonaws.configservice#DeleteRetentionConfiguration" }, + { + "target": "com.amazonaws.configservice#DeleteServiceLinkedConfigurationRecorder" + }, { "target": "com.amazonaws.configservice#DeleteStoredQuery" }, @@ -14772,6 +15429,9 @@ { "target": "com.amazonaws.configservice#DescribeRetentionConfigurations" }, + { + "target": "com.amazonaws.configservice#DisassociateResourceTypes" + }, { "target": "com.amazonaws.configservice#GetAggregateComplianceDetailsByConfigRule" }, @@ -14832,6 +15492,9 @@ { "target": "com.amazonaws.configservice#ListAggregateDiscoveredResources" }, + { + "target": "com.amazonaws.configservice#ListConfigurationRecorders" + }, { "target": "com.amazonaws.configservice#ListConformancePackComplianceScores" }, @@ -14889,6 +15552,9 @@ { "target": "com.amazonaws.configservice#PutRetentionConfiguration" }, + { + "target": "com.amazonaws.configservice#PutServiceLinkedConfigurationRecorder" + }, { "target": "com.amazonaws.configservice#PutStoredQuery" }, @@ -16020,10 +16686,13 @@ }, { "target": "com.amazonaws.configservice#NoSuchConfigurationRecorderException" + }, + { + "target": "com.amazonaws.configservice#UnmodifiableEntityException" } ], "traits": { - "smithy.api#documentation": "

Starts recording configurations of the Amazon Web Services resources you have\n\t\t\tselected to record in your Amazon Web Services account.

\n

You must have created at least one delivery channel to\n\t\t\tsuccessfully start the configuration recorder.

" + "smithy.api#documentation": "

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

\n

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

" } }, "com.amazonaws.configservice#StartConfigurationRecorderRequest": { @@ -16032,13 +16701,13 @@ "ConfigurationRecorderName": { "target": "com.amazonaws.configservice#RecorderName", "traits": { - "smithy.api#documentation": "

The name of the recorder object that records each configuration\n\t\t\tchange made to the resources.

", + "smithy.api#documentation": "

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

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The input for the StartConfigurationRecorder\n\t\t\taction.

", + "smithy.api#documentation": "

The input for the StartConfigurationRecorder\n\t\t\toperation.

", "smithy.api#input": {} } }, @@ -16240,10 +16909,13 @@ "errors": [ { "target": "com.amazonaws.configservice#NoSuchConfigurationRecorderException" + }, + { + "target": "com.amazonaws.configservice#UnmodifiableEntityException" } ], "traits": { - "smithy.api#documentation": "

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

" + "smithy.api#documentation": "

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

" } }, "com.amazonaws.configservice#StopConfigurationRecorderRequest": { @@ -16252,13 +16924,13 @@ "ConfigurationRecorderName": { "target": "com.amazonaws.configservice#RecorderName", "traits": { - "smithy.api#documentation": "

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

", + "smithy.api#documentation": "

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

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The input for the StopConfigurationRecorder action.

", + "smithy.api#documentation": "

The input for the StopConfigurationRecorder operation.

", "smithy.api#input": {} } }, @@ -16496,7 +17168,7 @@ } ], "traits": { - "smithy.api#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.\n\t\t\tIf 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.

" + "smithy.api#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.\n\t\t\tIf 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.

" } }, "com.amazonaws.configservice#TagResourceRequest": { @@ -16505,7 +17177,7 @@ "ResourceArn": { "target": "com.amazonaws.configservice#AmazonResourceName", "traits": { - "smithy.api#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.

", + "smithy.api#documentation": "

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

\n ", "smithy.api#required": {} } }, @@ -16626,6 +17298,21 @@ "smithy.api#error": "client" } }, + "com.amazonaws.configservice#UnmodifiableEntityException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.configservice#ErrorMessage", + "traits": { + "smithy.api#documentation": "

Error executing the command

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The requested operation is not valid.

\n

For PutConfigurationRecorder,\n\t\t\tyou 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\n\t\t\trecorder.

\n

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\n\t\t\trecorder.

\n

For StartConfigurationRecorder and StopConfigurationRecorder, you will see this exception because these operations do not affect service-linked configuration recorders.\n\t\t\tService-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\n\t\t\trecorder.

", + "smithy.api#error": "client" + } + }, "com.amazonaws.configservice#UnprocessedResourceIdentifierList": { "type": "list", "member": { @@ -16658,7 +17345,7 @@ "ResourceArn": { "target": "com.amazonaws.configservice#AmazonResourceName", "traits": { - "smithy.api#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.

", + "smithy.api#documentation": "

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

\n ", "smithy.api#required": {} } }, @@ -16685,7 +17372,7 @@ } }, "traits": { - "smithy.api#documentation": "

The requested action is not valid.

\n

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.

\n

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

", + "smithy.api#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.

\n

For PutStoredQuery, one of the following errors:

\n \n

For DescribeConfigurationRecorders and DescribeConfigurationRecorderStatus, one of the following errors:

\n \n

For AssociateResourceTypes and DisassociateResourceTypes, one of the following errors:

\n ", "smithy.api#error": "client" } }, diff --git a/tools/code-generation/smithy/api-descriptions/fsx.json b/tools/code-generation/smithy/api-descriptions/fsx.json index c021226bc6a..d82d3ee3b28 100644 --- a/tools/code-generation/smithy/api-descriptions/fsx.json +++ b/tools/code-generation/smithy/api-descriptions/fsx.json @@ -3229,6 +3229,12 @@ "smithy.api#documentation": "

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

\n \n

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

" } }, + "EfaEnabled": { + "target": "com.amazonaws.fsx#Flag", + "traits": { + "smithy.api#documentation": "

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

\n

(Default = false)

" + } + }, "LogConfiguration": { "target": "com.amazonaws.fsx#LustreLogCreateConfiguration", "traits": { @@ -8082,6 +8088,12 @@ "traits": { "smithy.api#documentation": "

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

" } + }, + "EfaEnabled": { + "target": "com.amazonaws.fsx#Flag", + "traits": { + "smithy.api#documentation": "

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

" + } } }, "traits": { diff --git a/tools/code-generation/smithy/api-descriptions/observabilityadmin.json b/tools/code-generation/smithy/api-descriptions/observabilityadmin.json new file mode 100644 index 00000000000..29a51cb81a1 --- /dev/null +++ b/tools/code-generation/smithy/api-descriptions/observabilityadmin.json @@ -0,0 +1,1492 @@ +{ + "smithy": "2.0", + "shapes": { + "com.amazonaws.observabilityadmin#AccessDeniedException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String" + }, + "amznErrorType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

\n The name of the exception.\n

", + "smithy.api#httpHeader": "x-amzn-ErrorType" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n 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.\n

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.observabilityadmin#AccountIdentifier": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 12, + "max": 12 + }, + "smithy.api#pattern": "^[0-9]{12}$" + } + }, + "com.amazonaws.observabilityadmin#AccountIdentifiers": { + "type": "list", + "member": { + "target": "com.amazonaws.observabilityadmin#AccountIdentifier" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.observabilityadmin#FailureReason": { + "type": "string" + }, + "com.amazonaws.observabilityadmin#GetTelemetryEvaluationStatus": { + "type": "operation", + "input": { + "target": "smithy.api#Unit" + }, + "output": { + "target": "com.amazonaws.observabilityadmin#GetTelemetryEvaluationStatusOutput" + }, + "errors": [ + { + "target": "com.amazonaws.observabilityadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.observabilityadmin#InternalServerException" + } + ], + "traits": { + "smithy.api#documentation": "

\n 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.\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/GetTelemetryEvaluationStatus" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "GetTelemetryEvaluationStatus", + "params": {}, + "expect": { + "failure": { + "errorId": "com.amazonaws.observabilityadmin#AccessDeniedException" + } + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-2" + } + } + ] + } + }, + "com.amazonaws.observabilityadmin#GetTelemetryEvaluationStatusForOrganization": { + "type": "operation", + "input": { + "target": "smithy.api#Unit" + }, + "output": { + "target": "com.amazonaws.observabilityadmin#GetTelemetryEvaluationStatusForOrganizationOutput" + }, + "errors": [ + { + "target": "com.amazonaws.observabilityadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.observabilityadmin#InternalServerException" + }, + { + "target": "com.amazonaws.observabilityadmin#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

\n 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.\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/GetTelemetryEvaluationStatusForOrganization" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "GetTelemetryEvaluationStatusForOrganization", + "params": {}, + "expect": { + "failure": { + "errorId": "com.amazonaws.observabilityadmin#AccessDeniedException" + } + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-2" + } + } + ] + } + }, + "com.amazonaws.observabilityadmin#GetTelemetryEvaluationStatusForOrganizationOutput": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.observabilityadmin#Status", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "FailureReason": { + "target": "com.amazonaws.observabilityadmin#FailureReason", + "traits": { + "smithy.api#documentation": "

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

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.observabilityadmin#GetTelemetryEvaluationStatusOutput": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.observabilityadmin#Status", + "traits": { + "smithy.api#documentation": "

\n The onboarding status of the telemetry config feature.\n

" + } + }, + "FailureReason": { + "target": "com.amazonaws.observabilityadmin#FailureReason", + "traits": { + "smithy.api#documentation": "

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

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.observabilityadmin#InternalServerException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String" + }, + "amznErrorType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

\n The name of the exception.\n

", + "smithy.api#httpHeader": "x-amzn-ErrorType" + } + } + }, + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.observabilityadmin#ListResourceTelemetry": { + "type": "operation", + "input": { + "target": "com.amazonaws.observabilityadmin#ListResourceTelemetryInput" + }, + "output": { + "target": "com.amazonaws.observabilityadmin#ListResourceTelemetryOutput" + }, + "errors": [ + { + "target": "com.amazonaws.observabilityadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.observabilityadmin#InternalServerException" + }, + { + "target": "com.amazonaws.observabilityadmin#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#http": { + "method": "POST", + "uri": "/ListResourceTelemetry" + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "TelemetryConfigurations" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.observabilityadmin#ListResourceTelemetryForOrganization": { + "type": "operation", + "input": { + "target": "com.amazonaws.observabilityadmin#ListResourceTelemetryForOrganizationInput" + }, + "output": { + "target": "com.amazonaws.observabilityadmin#ListResourceTelemetryForOrganizationOutput" + }, + "errors": [ + { + "target": "com.amazonaws.observabilityadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.observabilityadmin#InternalServerException" + }, + { + "target": "com.amazonaws.observabilityadmin#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#http": { + "method": "POST", + "uri": "/ListResourceTelemetryForOrganization" + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "TelemetryConfigurations" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.observabilityadmin#ListResourceTelemetryForOrganizationInput": { + "type": "structure", + "members": { + "AccountIdentifiers": { + "target": "com.amazonaws.observabilityadmin#AccountIdentifiers", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "ResourceIdentifierPrefix": { + "target": "com.amazonaws.observabilityadmin#ResourceIdentifierPrefix", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "ResourceTypes": { + "target": "com.amazonaws.observabilityadmin#ResourceTypes", + "traits": { + "smithy.api#documentation": "

\n 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.\n

" + } + }, + "TelemetryConfigurationState": { + "target": "com.amazonaws.observabilityadmin#TelemetryConfigurationState", + "traits": { + "smithy.api#documentation": "

\n 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.\n

" + } + }, + "ResourceTags": { + "target": "com.amazonaws.observabilityadmin#TagMapInput", + "traits": { + "smithy.api#documentation": "

\n 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?\n

" + } + }, + "MaxResults": { + "target": "com.amazonaws.observabilityadmin#ListResourceTelemetryForOrganizationMaxResults", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

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

" + } + }, + "NextToken": { + "target": "com.amazonaws.observabilityadmin#NextToken", + "traits": { + "smithy.api#documentation": "

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

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.observabilityadmin#ListResourceTelemetryForOrganizationMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.observabilityadmin#ListResourceTelemetryForOrganizationOutput": { + "type": "structure", + "members": { + "TelemetryConfigurations": { + "target": "com.amazonaws.observabilityadmin#TelemetryConfigurations", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "NextToken": { + "target": "com.amazonaws.observabilityadmin#NextToken", + "traits": { + "smithy.api#documentation": "

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

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.observabilityadmin#ListResourceTelemetryInput": { + "type": "structure", + "members": { + "ResourceIdentifierPrefix": { + "target": "com.amazonaws.observabilityadmin#ResourceIdentifierPrefix", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "ResourceTypes": { + "target": "com.amazonaws.observabilityadmin#ResourceTypes", + "traits": { + "smithy.api#documentation": "

\n 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.\n

" + } + }, + "TelemetryConfigurationState": { + "target": "com.amazonaws.observabilityadmin#TelemetryConfigurationState", + "traits": { + "smithy.api#documentation": "

\n 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.\n

" + } + }, + "ResourceTags": { + "target": "com.amazonaws.observabilityadmin#TagMapInput", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "MaxResults": { + "target": "com.amazonaws.observabilityadmin#ListResourceTelemetryMaxResults", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

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

" + } + }, + "NextToken": { + "target": "com.amazonaws.observabilityadmin#NextToken", + "traits": { + "smithy.api#documentation": "

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

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.observabilityadmin#ListResourceTelemetryMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.observabilityadmin#ListResourceTelemetryOutput": { + "type": "structure", + "members": { + "TelemetryConfigurations": { + "target": "com.amazonaws.observabilityadmin#TelemetryConfigurations", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "NextToken": { + "target": "com.amazonaws.observabilityadmin#NextToken", + "traits": { + "smithy.api#documentation": "

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

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.observabilityadmin#NextToken": { + "type": "string" + }, + "com.amazonaws.observabilityadmin#ObservabilityAdmin": { + "type": "service", + "version": "2018-05-10", + "operations": [ + { + "target": "com.amazonaws.observabilityadmin#GetTelemetryEvaluationStatus" + }, + { + "target": "com.amazonaws.observabilityadmin#GetTelemetryEvaluationStatusForOrganization" + }, + { + "target": "com.amazonaws.observabilityadmin#ListResourceTelemetry" + }, + { + "target": "com.amazonaws.observabilityadmin#ListResourceTelemetryForOrganization" + }, + { + "target": "com.amazonaws.observabilityadmin#StartTelemetryEvaluation" + }, + { + "target": "com.amazonaws.observabilityadmin#StartTelemetryEvaluationForOrganization" + }, + { + "target": "com.amazonaws.observabilityadmin#StopTelemetryEvaluation" + }, + { + "target": "com.amazonaws.observabilityadmin#StopTelemetryEvaluationForOrganization" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "ObservabilityAdmin", + "arnNamespace": "observabilityadmin" + }, + "aws.auth#sigv4": { + "name": "observabilityadmin" + }, + "aws.protocols#restJson1": {}, + "smithy.api#documentation": "

\n 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. \n For more information, see Auditing CloudWatch telemetry configurations in the CloudWatch User Guide.

\n

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

", + "smithy.api#title": "CloudWatch Observability Admin Service", + "smithy.rules#endpointRuleSet": { + "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" + } + ] + }, + "smithy.rules#endpointTests": { + "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" + } + } + }, + "com.amazonaws.observabilityadmin#ResourceIdentifier": { + "type": "string" + }, + "com.amazonaws.observabilityadmin#ResourceIdentifierPrefix": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 768 + } + } + }, + "com.amazonaws.observabilityadmin#ResourceType": { + "type": "enum", + "members": { + "AWS_EC2_INSTANCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS::EC2::Instance" + } + }, + "AWS_EC2_VPC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS::EC2::VPC" + } + }, + "AWS_LAMDBA_FUNCTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS::Lambda::Function" + } + } + } + }, + "com.amazonaws.observabilityadmin#ResourceTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.observabilityadmin#ResourceType" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.observabilityadmin#StartTelemetryEvaluation": { + "type": "operation", + "input": { + "target": "smithy.api#Unit" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.observabilityadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.observabilityadmin#InternalServerException" + }, + { + "target": "com.amazonaws.observabilityadmin#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#http": { + "method": "POST", + "uri": "/StartTelemetryEvaluation" + } + } + }, + "com.amazonaws.observabilityadmin#StartTelemetryEvaluationForOrganization": { + "type": "operation", + "input": { + "target": "smithy.api#Unit" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.observabilityadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.observabilityadmin#InternalServerException" + }, + { + "target": "com.amazonaws.observabilityadmin#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#http": { + "method": "POST", + "uri": "/StartTelemetryEvaluationForOrganization" + } + } + }, + "com.amazonaws.observabilityadmin#Status": { + "type": "enum", + "members": { + "NOT_STARTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_STARTED" + } + }, + "STARTING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STARTING" + } + }, + "FAILED_START": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED_START" + } + }, + "RUNNING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RUNNING" + } + }, + "STOPPING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOPPING" + } + }, + "FAILED_STOP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED_STOP" + } + }, + "STOPPED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOPPED" + } + } + } + }, + "com.amazonaws.observabilityadmin#StopTelemetryEvaluation": { + "type": "operation", + "input": { + "target": "smithy.api#Unit" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.observabilityadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.observabilityadmin#InternalServerException" + }, + { + "target": "com.amazonaws.observabilityadmin#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#http": { + "method": "POST", + "uri": "/StopTelemetryEvaluation" + } + } + }, + "com.amazonaws.observabilityadmin#StopTelemetryEvaluationForOrganization": { + "type": "operation", + "input": { + "target": "smithy.api#Unit" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.observabilityadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.observabilityadmin#InternalServerException" + }, + { + "target": "com.amazonaws.observabilityadmin#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#http": { + "method": "POST", + "uri": "/StopTelemetryEvaluationForOrganization" + } + } + }, + "com.amazonaws.observabilityadmin#TagKey": { + "type": "string", + "traits": { + "aws.api#data": "tagging", + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + } + }, + "com.amazonaws.observabilityadmin#TagMapInput": { + "type": "map", + "key": { + "target": "com.amazonaws.observabilityadmin#TagKey" + }, + "value": { + "target": "com.amazonaws.observabilityadmin#TagValue" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, + "com.amazonaws.observabilityadmin#TagMapOutput": { + "type": "map", + "key": { + "target": "smithy.api#String" + }, + "value": { + "target": "smithy.api#String" + } + }, + "com.amazonaws.observabilityadmin#TagValue": { + "type": "string", + "traits": { + "aws.api#data": "tagging", + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + } + }, + "com.amazonaws.observabilityadmin#TelemetryConfiguration": { + "type": "structure", + "members": { + "AccountIdentifier": { + "target": "com.amazonaws.observabilityadmin#AccountIdentifier", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "TelemetryConfigurationState": { + "target": "com.amazonaws.observabilityadmin#TelemetryConfigurationState", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "ResourceType": { + "target": "com.amazonaws.observabilityadmin#ResourceType", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "ResourceIdentifier": { + "target": "com.amazonaws.observabilityadmin#ResourceIdentifier", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "ResourceTags": { + "target": "com.amazonaws.observabilityadmin#TagMapOutput", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "LastUpdateTimeStamp": { + "target": "smithy.api#Long", + "traits": { + "smithy.api#documentation": "

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

" + } + } + }, + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "com.amazonaws.observabilityadmin#TelemetryConfigurationState": { + "type": "map", + "key": { + "target": "com.amazonaws.observabilityadmin#TelemetryType" + }, + "value": { + "target": "com.amazonaws.observabilityadmin#TelemetryState" + } + }, + "com.amazonaws.observabilityadmin#TelemetryConfigurations": { + "type": "list", + "member": { + "target": "com.amazonaws.observabilityadmin#TelemetryConfiguration" + } + }, + "com.amazonaws.observabilityadmin#TelemetryState": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Enabled" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Disabled" + } + }, + "NOT_APPLICABLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NotApplicable" + } + } + } + }, + "com.amazonaws.observabilityadmin#TelemetryType": { + "type": "enum", + "members": { + "LOGS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Logs" + } + }, + "METRICS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Metrics" + } + }, + "TRACES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Traces" + } + } + } + }, + "com.amazonaws.observabilityadmin#ValidationException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + } + } +} \ No newline at end of file