

# Data Types
<a name="API_Types"></a>

The AWS Control Catalog API contains several data types that various actions use. This section describes each data type in detail.

**Note**  
The order of each element in a data type structure is not guaranteed. Applications should not assume a particular order.

The following data types are supported:
+  [AssociatedDomainSummary](API_AssociatedDomainSummary.md) 
+  [AssociatedObjectiveSummary](API_AssociatedObjectiveSummary.md) 
+  [CommonControlFilter](API_CommonControlFilter.md) 
+  [CommonControlMappingDetails](API_CommonControlMappingDetails.md) 
+  [CommonControlSummary](API_CommonControlSummary.md) 
+  [ControlFilter](API_ControlFilter.md) 
+  [ControlMapping](API_ControlMapping.md) 
+  [ControlMappingFilter](API_ControlMappingFilter.md) 
+  [ControlParameter](API_ControlParameter.md) 
+  [ControlSummary](API_ControlSummary.md) 
+  [DomainResourceFilter](API_DomainResourceFilter.md) 
+  [DomainSummary](API_DomainSummary.md) 
+  [FrameworkMappingDetails](API_FrameworkMappingDetails.md) 
+  [ImplementationDetails](API_ImplementationDetails.md) 
+  [ImplementationFilter](API_ImplementationFilter.md) 
+  [ImplementationSummary](API_ImplementationSummary.md) 
+  [Mapping](API_Mapping.md) 
+  [ObjectiveFilter](API_ObjectiveFilter.md) 
+  [ObjectiveResourceFilter](API_ObjectiveResourceFilter.md) 
+  [ObjectiveSummary](API_ObjectiveSummary.md) 
+  [RegionConfiguration](API_RegionConfiguration.md) 
+  [RelatedControlMappingDetails](API_RelatedControlMappingDetails.md) 

# AssociatedDomainSummary
<a name="API_AssociatedDomainSummary"></a>

A summary of the domain that a common control or an objective belongs to.

## Contents
<a name="API_AssociatedDomainSummary_Contents"></a>

 ** Arn **   <a name="controlcatalog-Type-AssociatedDomainSummary-Arn"></a>
The Amazon Resource Name (ARN) of the related domain.  
Type: String  
Length Constraints: Minimum length of 33. Maximum length of 2048.  
Pattern: `arn:(aws(?:[-a-z]*)?):controlcatalog:::domain/[0-9a-z]+`   
Required: No

 ** Name **   <a name="controlcatalog-Type-AssociatedDomainSummary-Name"></a>
The name of the related domain.  
Type: String  
Required: No

## See Also
<a name="API_AssociatedDomainSummary_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/AssociatedDomainSummary) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/AssociatedDomainSummary) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/AssociatedDomainSummary) 

# AssociatedObjectiveSummary
<a name="API_AssociatedObjectiveSummary"></a>

A summary of the objective that a common control supports.

## Contents
<a name="API_AssociatedObjectiveSummary_Contents"></a>

 ** Arn **   <a name="controlcatalog-Type-AssociatedObjectiveSummary-Arn"></a>
The Amazon Resource Name (ARN) of the related objective.  
Type: String  
Length Constraints: Minimum length of 36. Maximum length of 2048.  
Pattern: `arn:(aws(?:[-a-z]*)?):controlcatalog:::objective/[0-9a-z]+`   
Required: No

 ** Name **   <a name="controlcatalog-Type-AssociatedObjectiveSummary-Name"></a>
The name of the related objective.  
Type: String  
Required: No

## See Also
<a name="API_AssociatedObjectiveSummary_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/AssociatedObjectiveSummary) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/AssociatedObjectiveSummary) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/AssociatedObjectiveSummary) 

# CommonControlFilter
<a name="API_CommonControlFilter"></a>

An optional filter that narrows the results to a specific objective.

## Contents
<a name="API_CommonControlFilter_Contents"></a>

 ** Objectives **   <a name="controlcatalog-Type-CommonControlFilter-Objectives"></a>
The objective that's used as filter criteria.  
You can use this parameter to specify one objective ARN at a time. Passing multiple ARNs in the `CommonControlFilter` isn’t supported.  
Type: Array of [ObjectiveResourceFilter](API_ObjectiveResourceFilter.md) objects  
Required: No

## See Also
<a name="API_CommonControlFilter_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/CommonControlFilter) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/CommonControlFilter) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/CommonControlFilter) 

# CommonControlMappingDetails
<a name="API_CommonControlMappingDetails"></a>

A structure that contains details about a common control mapping. In particular, it returns the Amazon Resource Name (ARN) of the common control.

## Contents
<a name="API_CommonControlMappingDetails_Contents"></a>

 ** CommonControlArn **   <a name="controlcatalog-Type-CommonControlMappingDetails-CommonControlArn"></a>
The Amazon Resource Name (ARN) that identifies the common control in the mapping.  
Type: String  
Length Constraints: Minimum length of 41. Maximum length of 2048.  
Pattern: `arn:(aws(?:[-a-z]*)?):controlcatalog:::common-control/[0-9a-z]+`   
Required: Yes

## See Also
<a name="API_CommonControlMappingDetails_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/CommonControlMappingDetails) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/CommonControlMappingDetails) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/CommonControlMappingDetails) 

# CommonControlSummary
<a name="API_CommonControlSummary"></a>

A summary of metadata for a common control.

## Contents
<a name="API_CommonControlSummary_Contents"></a>

 ** Arn **   <a name="controlcatalog-Type-CommonControlSummary-Arn"></a>
The Amazon Resource Name (ARN) that identifies the common control.  
Type: String  
Length Constraints: Minimum length of 41. Maximum length of 2048.  
Pattern: `arn:(aws(?:[-a-z]*)?):controlcatalog:::common-control/[0-9a-z]+`   
Required: Yes

 ** CreateTime **   <a name="controlcatalog-Type-CommonControlSummary-CreateTime"></a>
The time when the common control was created.  
Type: Timestamp  
Required: Yes

 ** Description **   <a name="controlcatalog-Type-CommonControlSummary-Description"></a>
The description of the common control.  
Type: String  
Required: Yes

 ** Domain **   <a name="controlcatalog-Type-CommonControlSummary-Domain"></a>
The domain that the common control belongs to.  
Type: [AssociatedDomainSummary](API_AssociatedDomainSummary.md) object  
Required: Yes

 ** LastUpdateTime **   <a name="controlcatalog-Type-CommonControlSummary-LastUpdateTime"></a>
The time when the common control was most recently updated.  
Type: Timestamp  
Required: Yes

 ** Name **   <a name="controlcatalog-Type-CommonControlSummary-Name"></a>
The name of the common control.  
Type: String  
Required: Yes

 ** Objective **   <a name="controlcatalog-Type-CommonControlSummary-Objective"></a>
The objective that the common control belongs to.  
Type: [AssociatedObjectiveSummary](API_AssociatedObjectiveSummary.md) object  
Required: Yes

## See Also
<a name="API_CommonControlSummary_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/CommonControlSummary) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/CommonControlSummary) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/CommonControlSummary) 

# ControlFilter
<a name="API_ControlFilter"></a>

A structure that defines filtering criteria for the ListControls operation. You can use this filter to narrow down the list of controls based on their implementation details.

## Contents
<a name="API_ControlFilter_Contents"></a>

 ** Implementations **   <a name="controlcatalog-Type-ControlFilter-Implementations"></a>
A filter that narrows the results to controls with specific implementation types or identifiers. This field allows you to find controls that are implemented by specific AWS services or with specific service identifiers.  
Type: [ImplementationFilter](API_ImplementationFilter.md) object  
Required: No

## See Also
<a name="API_ControlFilter_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/ControlFilter) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/ControlFilter) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/ControlFilter) 

# ControlMapping
<a name="API_ControlMapping"></a>

A structure that contains information about a control mapping, including the control ARN, mapping type, and mapping details.

## Contents
<a name="API_ControlMapping_Contents"></a>

 ** ControlArn **   <a name="controlcatalog-Type-ControlMapping-ControlArn"></a>
The Amazon Resource Name (ARN) that identifies the control in the mapping.  
Type: String  
Length Constraints: Minimum length of 34. Maximum length of 2048.  
Pattern: `arn:(aws(?:[-a-z]*)?):(controlcatalog|controltower):[a-zA-Z0-9-]*::control/[0-9a-zA-Z_\-]+`   
Required: Yes

 ** Mapping **   <a name="controlcatalog-Type-ControlMapping-Mapping"></a>
The details of the mapping relationship, for example, containing framework, common control, or related control information.  
Type: [Mapping](API_Mapping.md) object  
 **Note: **This object is a Union. Only one member of this object can be specified or returned.  
Required: Yes

 ** MappingType **   <a name="controlcatalog-Type-ControlMapping-MappingType"></a>
The type of mapping relationship between the control and other entities.  
Type: String  
Valid Values: `FRAMEWORK | COMMON_CONTROL | RELATED_CONTROL`   
Required: Yes

## See Also
<a name="API_ControlMapping_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/ControlMapping) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/ControlMapping) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/ControlMapping) 

# ControlMappingFilter
<a name="API_ControlMappingFilter"></a>

A structure that defines filtering criteria for the ListControlMappings operation. You can use this filter to narrow down the list of control mappings based on control ARNs, common control ARNs, or mapping types.

## Contents
<a name="API_ControlMappingFilter_Contents"></a>

 ** CommonControlArns **   <a name="controlcatalog-Type-ControlMappingFilter-CommonControlArns"></a>
A list of common control ARNs to filter the mappings. When specified, only mappings associated with these common controls are returned.  
Type: Array of strings  
Array Members: Fixed number of 1 item.  
Length Constraints: Minimum length of 41. Maximum length of 2048.  
Pattern: `arn:(aws(?:[-a-z]*)?):controlcatalog:::common-control/[0-9a-z]+`   
Required: No

 ** ControlArns **   <a name="controlcatalog-Type-ControlMappingFilter-ControlArns"></a>
A list of control ARNs to filter the mappings. When specified, only mappings associated with these controls are returned.  
Type: Array of strings  
Array Members: Fixed number of 1 item.  
Length Constraints: Minimum length of 34. Maximum length of 2048.  
Pattern: `arn:(aws(?:[-a-z]*)?):(controlcatalog|controltower):[a-zA-Z0-9-]*::control/[0-9a-zA-Z_\-]+`   
Required: No

 ** MappingTypes **   <a name="controlcatalog-Type-ControlMappingFilter-MappingTypes"></a>
A list of mapping types to filter the mappings. When specified, only mappings of these types are returned.  
Type: Array of strings  
Array Members: Fixed number of 1 item.  
Valid Values: `FRAMEWORK | COMMON_CONTROL | RELATED_CONTROL`   
Required: No

## See Also
<a name="API_ControlMappingFilter_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/ControlMappingFilter) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/ControlMappingFilter) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/ControlMappingFilter) 

# ControlParameter
<a name="API_ControlParameter"></a>

Five types of control parameters are supported.
+  **AllowedRegions**: List of AWS Regions exempted from the control. Each string is expected to be an AWS Region code. This parameter is mandatory for the **OU Region deny** control, **CT.MULTISERVICE.PV.1**.

  Example: `["us-east-1","us-west-2"]` 
+  **ExemptedActions**: List of AWS IAM actions exempted from the control. Each string is expected to be an IAM action.

  Example: `["logs:DescribeLogGroups","logs:StartQuery","logs:GetQueryResults"]` 
+  **ExemptedPrincipalArns**: List of AWS IAM principal ARNs exempted from the control. Each string is expected to be an IAM principal that follows the format `arn:partition:service::account:resource` 

  Example: `["arn:aws:iam::*:role/ReadOnly","arn:aws:sts::*:assumed-role/ReadOnly/*"]` 
+  **ExemptedResourceArns**: List of resource ARNs exempted from the control. Each string is expected to be a resource ARN.

  Example: `["arn:aws:s3:::my-bucket-name"]` 
+  **ExemptAssumeRoot**: A parameter that lets you choose whether to exempt requests made with `AssumeRoot` from this control, for this OU. For member accounts, the `AssumeRoot` property is included in requests initiated by IAM centralized root access. This parameter applies only to the `AWS-GR_RESTRICT_ROOT_USER` control. If you add the parameter when enabling the control, the `AssumeRoot` exemption is allowed. If you omit the parameter, the `AssumeRoot` exception is not permitted. The parameter does not accept `False` as a value.

   *Example: Enabling the control and allowing `AssumeRoot` * 

   `{ "controlIdentifier": "arn:aws:controlcatalog:::control/5kvme4m5d2b4d7if2fs5yg2ui", "parameters": [ { "key": "ExemptAssumeRoot", "value": true } ], "targetIdentifier": "arn:aws:organizations::8633900XXXXX:ou/o-6jmn81636m/ou-qsah-jtiihcla" }` 

## Contents
<a name="API_ControlParameter_Contents"></a>

 ** Name **   <a name="controlcatalog-Type-ControlParameter-Name"></a>
The parameter name. This name is the parameter `key` when you call [https://docs.aws.amazon.com/controltower/latest/APIReference/API_EnableControl.html](https://docs.aws.amazon.com/controltower/latest/APIReference/API_EnableControl.html) or [https://docs.aws.amazon.com/controltower/latest/APIReference/API_UpdateEnabledControl.html](https://docs.aws.amazon.com/controltower/latest/APIReference/API_UpdateEnabledControl.html).  
Type: String  
Required: Yes

## See Also
<a name="API_ControlParameter_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/ControlParameter) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/ControlParameter) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/ControlParameter) 

# ControlSummary
<a name="API_ControlSummary"></a>

Overview of information about a control.

## Contents
<a name="API_ControlSummary_Contents"></a>

 ** Arn **   <a name="controlcatalog-Type-ControlSummary-Arn"></a>
The Amazon Resource Name (ARN) of the control.  
Type: String  
Length Constraints: Minimum length of 34. Maximum length of 2048.  
Pattern: `arn:(aws(?:[-a-z]*)?):(controlcatalog|controltower):[a-zA-Z0-9-]*::control/[0-9a-zA-Z_\-]+`   
Required: Yes

 ** Description **   <a name="controlcatalog-Type-ControlSummary-Description"></a>
A description of the control, as it may appear in the console. Describes the functionality of the control.  
Type: String  
Required: Yes

 ** Name **   <a name="controlcatalog-Type-ControlSummary-Name"></a>
The display name of the control.  
Type: String  
Required: Yes

 ** Aliases **   <a name="controlcatalog-Type-ControlSummary-Aliases"></a>
A list of alternative identifiers for the control. These are human-readable designators, such as `SH.S3.1`. Several aliases can refer to the same control across different AWS services or compliance frameworks.  
Type: Array of strings  
Pattern: `[a-zA-Z0-9](?:[a-zA-Z0-9_.-]{0,254}[a-zA-Z0-9])`   
Required: No

 ** Behavior **   <a name="controlcatalog-Type-ControlSummary-Behavior"></a>
An enumerated type, with the following possible values:  
Type: String  
Valid Values: `PREVENTIVE | PROACTIVE | DETECTIVE`   
Required: No

 ** CreateTime **   <a name="controlcatalog-Type-ControlSummary-CreateTime"></a>
A timestamp that notes the time when the control was released (start of its life) as a governance capability in AWS.  
Type: Timestamp  
Required: No

 ** GovernedResources **   <a name="controlcatalog-Type-ControlSummary-GovernedResources"></a>
A list of AWS resource types that are governed by this control. This information helps you understand which controls can govern certain types of resources, and conversely, which resources are affected when the control is implemented. The resources are represented as AWS CloudFormation resource types. If `GovernedResources` cannot be represented by available CloudFormation resource types, it’s returned as an empty list.  
Type: Array of strings  
Pattern: `[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}`   
Required: No

 ** Implementation **   <a name="controlcatalog-Type-ControlSummary-Implementation"></a>
An object of type `ImplementationSummary` that describes how the control is implemented.  
Type: [ImplementationSummary](API_ImplementationSummary.md) object  
Required: No

 ** Severity **   <a name="controlcatalog-Type-ControlSummary-Severity"></a>
An enumerated type, with the following possible values:  
Type: String  
Valid Values: `LOW | MEDIUM | HIGH | CRITICAL`   
Required: No

## See Also
<a name="API_ControlSummary_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/ControlSummary) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/ControlSummary) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/ControlSummary) 

# DomainResourceFilter
<a name="API_DomainResourceFilter"></a>

The domain resource that's being used as a filter.

## Contents
<a name="API_DomainResourceFilter_Contents"></a>

 ** Arn **   <a name="controlcatalog-Type-DomainResourceFilter-Arn"></a>
The Amazon Resource Name (ARN) of the domain.  
Type: String  
Length Constraints: Minimum length of 33. Maximum length of 2048.  
Pattern: `arn:(aws(?:[-a-z]*)?):controlcatalog:::domain/[0-9a-z]+`   
Required: No

## See Also
<a name="API_DomainResourceFilter_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/DomainResourceFilter) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/DomainResourceFilter) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/DomainResourceFilter) 

# DomainSummary
<a name="API_DomainSummary"></a>

A summary of metadata for a domain.

## Contents
<a name="API_DomainSummary_Contents"></a>

 ** Arn **   <a name="controlcatalog-Type-DomainSummary-Arn"></a>
The Amazon Resource Name (ARN) that identifies the domain.  
Type: String  
Length Constraints: Minimum length of 33. Maximum length of 2048.  
Pattern: `arn:(aws(?:[-a-z]*)?):controlcatalog:::domain/[0-9a-z]+`   
Required: Yes

 ** CreateTime **   <a name="controlcatalog-Type-DomainSummary-CreateTime"></a>
The time when the domain was created.  
Type: Timestamp  
Required: Yes

 ** Description **   <a name="controlcatalog-Type-DomainSummary-Description"></a>
The description of the domain.  
Type: String  
Required: Yes

 ** LastUpdateTime **   <a name="controlcatalog-Type-DomainSummary-LastUpdateTime"></a>
The time when the domain was most recently updated.  
Type: Timestamp  
Required: Yes

 ** Name **   <a name="controlcatalog-Type-DomainSummary-Name"></a>
The name of the domain.  
Type: String  
Required: Yes

## See Also
<a name="API_DomainSummary_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/DomainSummary) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/DomainSummary) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/DomainSummary) 

# FrameworkMappingDetails
<a name="API_FrameworkMappingDetails"></a>

A structure that contains details about a framework mapping, including the framework name and specific item within the framework that the control maps to.

## Contents
<a name="API_FrameworkMappingDetails_Contents"></a>

 ** Item **   <a name="controlcatalog-Type-FrameworkMappingDetails-Item"></a>
The specific item or requirement within the framework that the control maps to.  
Type: String  
Length Constraints: Minimum length of 3. Maximum length of 250.  
Required: Yes

 ** Name **   <a name="controlcatalog-Type-FrameworkMappingDetails-Name"></a>
The name of the compliance framework that the control maps to.  
Type: String  
Length Constraints: Minimum length of 3. Maximum length of 250.  
Required: Yes

## See Also
<a name="API_FrameworkMappingDetails_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/FrameworkMappingDetails) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/FrameworkMappingDetails) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/FrameworkMappingDetails) 

# ImplementationDetails
<a name="API_ImplementationDetails"></a>

An object that describes the implementation type for a control.

Our `ImplementationDetails` `Type` format has three required segments:
+  `SERVICE-PROVIDER::SERVICE-NAME::RESOURCE-NAME` 

For example, `AWS::Config::ConfigRule` **or** `AWS::SecurityHub::SecurityControl` resources have the format with three required segments.

Our `ImplementationDetails` `Type` format has an optional fourth segment, which is present for applicable implementation types. The format is as follows: 
+  `SERVICE-PROVIDER::SERVICE-NAME::RESOURCE-NAME::RESOURCE-TYPE-DESCRIPTION` 

For example, `AWS::Organizations::Policy::SERVICE_CONTROL_POLICY` **or** `AWS::CloudFormation::Type::HOOK` have the format with four segments.

Although the format is similar, the values for the `Type` field do not match any AWS CloudFormation values.

## Contents
<a name="API_ImplementationDetails_Contents"></a>

 ** Type **   <a name="controlcatalog-Type-ImplementationDetails-Type"></a>
A string that describes a control's implementation type.  
Type: String  
Length Constraints: Minimum length of 7. Maximum length of 2048.  
Pattern: `[A-Za-z0-9]+(::[A-Za-z0-9_]+){2,3}`   
Required: Yes

 ** Identifier **   <a name="controlcatalog-Type-ImplementationDetails-Identifier"></a>
A service-specific identifier for the control, assigned by the service that implemented the control. For example, this identifier could be an AWS Config Rule ID or a Security Hub Control ID.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `[a-zA-Z0-9_\.-]+`   
Required: No

## See Also
<a name="API_ImplementationDetails_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/ImplementationDetails) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/ImplementationDetails) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/ImplementationDetails) 

# ImplementationFilter
<a name="API_ImplementationFilter"></a>

A structure that defines filtering criteria for control implementations. You can use this filter to find controls that are implemented by specific AWS services or with specific service identifiers.

## Contents
<a name="API_ImplementationFilter_Contents"></a>

 ** Identifiers **   <a name="controlcatalog-Type-ImplementationFilter-Identifiers"></a>
A list of service-specific identifiers that can serve as filters. For example, you can filter for controls with specific AWS Config Rule IDs or Security Hub Control IDs.  
Type: Array of strings  
Array Members: Fixed number of 1 item.  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `[a-zA-Z0-9_\.-]+`   
Required: No

 ** Types **   <a name="controlcatalog-Type-ImplementationFilter-Types"></a>
A list of implementation types that can serve as filters. For example, you can filter for controls implemented as AWS Config Rules by specifying AWS::Config::ConfigRule as a type.  
Type: Array of strings  
Array Members: Fixed number of 1 item.  
Length Constraints: Minimum length of 7. Maximum length of 2048.  
Pattern: `[A-Za-z0-9]+(::[A-Za-z0-9_]+){2,3}`   
Required: No

## See Also
<a name="API_ImplementationFilter_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/ImplementationFilter) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/ImplementationFilter) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/ImplementationFilter) 

# ImplementationSummary
<a name="API_ImplementationSummary"></a>

A summary of how the control is implemented, including the AWS service that enforces the control and its service-specific identifier. For example, the value of this field could indicate that the control is implemented as an AWS Config Rule or an AWS Security Hub control.

## Contents
<a name="API_ImplementationSummary_Contents"></a>

 ** Type **   <a name="controlcatalog-Type-ImplementationSummary-Type"></a>
A string that represents the AWS service that implements this control. For example, a value of `AWS::Config::ConfigRule` indicates that the control is implemented by AWS Config, and `AWS::SecurityHub::SecurityControl` indicates implementation by AWS Security Hub.  
Type: String  
Length Constraints: Minimum length of 7. Maximum length of 2048.  
Pattern: `[A-Za-z0-9]+(::[A-Za-z0-9_]+){2,3}`   
Required: Yes

 ** Identifier **   <a name="controlcatalog-Type-ImplementationSummary-Identifier"></a>
The identifier originally assigned by the AWS service that implements the control. For example, `CODEPIPELINE_DEPLOYMENT_COUNT_CHECK`.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `[a-zA-Z0-9_\.-]+`   
Required: No

## See Also
<a name="API_ImplementationSummary_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/ImplementationSummary) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/ImplementationSummary) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/ImplementationSummary) 

# Mapping
<a name="API_Mapping"></a>

A structure that contains the details of a mapping relationship, which can be either to a framework or to a common control.

## Contents
<a name="API_Mapping_Contents"></a>

**Important**  
This data type is a UNION, so only one of the following members can be specified when used or returned.

 ** CommonControl **   <a name="controlcatalog-Type-Mapping-CommonControl"></a>
The common control mapping details when the mapping type relates to a common control.  
Type: [CommonControlMappingDetails](API_CommonControlMappingDetails.md) object  
Required: No

 ** Framework **   <a name="controlcatalog-Type-Mapping-Framework"></a>
The framework mapping details when the mapping type relates to a compliance framework.  
Type: [FrameworkMappingDetails](API_FrameworkMappingDetails.md) object  
Required: No

 ** RelatedControl **   <a name="controlcatalog-Type-Mapping-RelatedControl"></a>
Returns information about controls that are related to the specified control.  
Type: [RelatedControlMappingDetails](API_RelatedControlMappingDetails.md) object  
Required: No

## See Also
<a name="API_Mapping_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/Mapping) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/Mapping) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/Mapping) 

# ObjectiveFilter
<a name="API_ObjectiveFilter"></a>

An optional filter that narrows the list of objectives to a specific domain.

## Contents
<a name="API_ObjectiveFilter_Contents"></a>

 ** Domains **   <a name="controlcatalog-Type-ObjectiveFilter-Domains"></a>
The domain that's used as filter criteria.  
You can use this parameter to specify one domain ARN at a time. Passing multiple ARNs in the `ObjectiveFilter` isn’t supported.  
Type: Array of [DomainResourceFilter](API_DomainResourceFilter.md) objects  
Required: No

## See Also
<a name="API_ObjectiveFilter_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/ObjectiveFilter) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/ObjectiveFilter) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/ObjectiveFilter) 

# ObjectiveResourceFilter
<a name="API_ObjectiveResourceFilter"></a>

The objective resource that's being used as a filter.

## Contents
<a name="API_ObjectiveResourceFilter_Contents"></a>

 ** Arn **   <a name="controlcatalog-Type-ObjectiveResourceFilter-Arn"></a>
The Amazon Resource Name (ARN) of the objective.  
Type: String  
Length Constraints: Minimum length of 36. Maximum length of 2048.  
Pattern: `arn:(aws(?:[-a-z]*)?):controlcatalog:::objective/[0-9a-z]+`   
Required: No

## See Also
<a name="API_ObjectiveResourceFilter_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/ObjectiveResourceFilter) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/ObjectiveResourceFilter) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/ObjectiveResourceFilter) 

# ObjectiveSummary
<a name="API_ObjectiveSummary"></a>

A summary of metadata for an objective.

## Contents
<a name="API_ObjectiveSummary_Contents"></a>

 ** Arn **   <a name="controlcatalog-Type-ObjectiveSummary-Arn"></a>
The Amazon Resource Name (ARN) that identifies the objective.  
Type: String  
Length Constraints: Minimum length of 36. Maximum length of 2048.  
Pattern: `arn:(aws(?:[-a-z]*)?):controlcatalog:::objective/[0-9a-z]+`   
Required: Yes

 ** CreateTime **   <a name="controlcatalog-Type-ObjectiveSummary-CreateTime"></a>
The time when the objective was created.  
Type: Timestamp  
Required: Yes

 ** Description **   <a name="controlcatalog-Type-ObjectiveSummary-Description"></a>
The description of the objective.  
Type: String  
Required: Yes

 ** Domain **   <a name="controlcatalog-Type-ObjectiveSummary-Domain"></a>
The domain that the objective belongs to.  
Type: [AssociatedDomainSummary](API_AssociatedDomainSummary.md) object  
Required: Yes

 ** LastUpdateTime **   <a name="controlcatalog-Type-ObjectiveSummary-LastUpdateTime"></a>
The time when the objective was most recently updated.  
Type: Timestamp  
Required: Yes

 ** Name **   <a name="controlcatalog-Type-ObjectiveSummary-Name"></a>
The name of the objective.  
Type: String  
Required: Yes

## See Also
<a name="API_ObjectiveSummary_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/ObjectiveSummary) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/ObjectiveSummary) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/ObjectiveSummary) 

# RegionConfiguration
<a name="API_RegionConfiguration"></a>

Returns information about the control, including the scope of the control, if enabled, and the Regions in which the control is available for deployment. For more information about scope, see [Global services](https://docs.aws.amazon.com/whitepapers/latest/aws-fault-isolation-boundaries/global-services.html).

If you are applying controls through an AWS Control Tower landing zone environment, remember that the values returned in the `RegionConfiguration` API operation are not related to the governed Regions in your landing zone. For example, if you are governing Regions `A`,`B`,and `C` while the control is available in Regions `A`, `B`, C`,` and `D`, you'd see a response with `DeployableRegions` of `A`, `B`, `C`, and `D` for a control with `REGIONAL` scope, even though you may not intend to deploy the control in Region `D`, because you do not govern it through your landing zone.

## Contents
<a name="API_RegionConfiguration_Contents"></a>

 ** Scope **   <a name="controlcatalog-Type-RegionConfiguration-Scope"></a>
The coverage of the control, if deployed. Scope is an enumerated type, with value `Regional`, or `Global`. A control with Global scope is effective in all AWS Regions, regardless of the Region from which it is enabled, or to which it is deployed. A control implemented by an SCP is usually Global in scope. A control with Regional scope has operations that are restricted specifically to the Region from which it is enabled and to which it is deployed. Controls implemented by Config rules and CloudFormation hooks usually are Regional in scope. Security Hub controls usually are Regional in scope.  
Type: String  
Valid Values: `GLOBAL | REGIONAL`   
Required: Yes

 ** DeployableRegions **   <a name="controlcatalog-Type-RegionConfiguration-DeployableRegions"></a>
Regions in which the control is available to be deployed.  
Type: Array of strings  
Pattern: `[a-zA-Z0-9-]{1,128}`   
Required: No

## See Also
<a name="API_RegionConfiguration_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/RegionConfiguration) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/RegionConfiguration) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/RegionConfiguration) 

# RelatedControlMappingDetails
<a name="API_RelatedControlMappingDetails"></a>

A structure that describes a control's relationship status with other controls.

## Contents
<a name="API_RelatedControlMappingDetails_Contents"></a>

 ** RelationType **   <a name="controlcatalog-Type-RelatedControlMappingDetails-RelationType"></a>
Returns an enumerated value that represents the relationship between two or more controls.  
Type: String  
Valid Values: `COMPLEMENTARY | ALTERNATIVE | MUTUALLY_EXCLUSIVE`   
Required: Yes

 ** ControlArn **   <a name="controlcatalog-Type-RelatedControlMappingDetails-ControlArn"></a>
The unique identifier of a control.  
Type: String  
Length Constraints: Minimum length of 34. Maximum length of 2048.  
Pattern: `arn:(aws(?:[-a-z]*)?):(controlcatalog|controltower):[a-zA-Z0-9-]*::control/[0-9a-zA-Z_\-]+`   
Required: No

## See Also
<a name="API_RelatedControlMappingDetails_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/controlcatalog-2018-05-10/RelatedControlMappingDetails) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/controlcatalog-2018-05-10/RelatedControlMappingDetails) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/controlcatalog-2018-05-10/RelatedControlMappingDetails) 