aws-sdk-controlcatalog 1.24.0 → 1.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a66a6c623141dfaf27f3573fc9a094f81fad649c23805714d02cd2c12aa711cc
4
- data.tar.gz: 10a582bd4b02620a9fa6915c46ba5122f2545f6e377eb5f01064e6648739b32e
3
+ metadata.gz: e212c2d6ee0cd3b3e2739a1da4c0dbcf4b5033245878d6158b0ffd396f37a1b3
4
+ data.tar.gz: 4ab0a03372c7c7cf87a155e567144274d780f16b3ca60be6e1119fe694a39a7e
5
5
  SHA512:
6
- metadata.gz: 81bc41b251dab743fc9ea7c32989287e2498073264aa40f9bba9a0db70400ac1915f54113f0cced2981ce8bfc7987e70de535742f5869325ffc658ebbd8cc35f
7
- data.tar.gz: 88b964d33104c9e35b078f032a218d7bfb5351c3113441cbbc63342ae0887376fc3607aba428c4c45de6d08b51689054f519a1ae40d886426ef270b7d3aa7853
6
+ metadata.gz: e2ca034d91a0c5d9b5982b755286c7a5d264333139b834bb70885a7adef951b78fcf3c8fb50f64b69ef033af2281b002dab838124e30e09a5716150ef01a5618
7
+ data.tar.gz: 3fa7bb096f14817a6c06e35108e7fed029c6b9b275475ea74726ba6b0f64502c02afe7bd88a3c39fb3d9f2bd324b2343f04359bcb0233edcfa1eed0471e1fe3b
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.28.0 (2025-07-31)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.27.0 (2025-07-21)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ 1.26.0 (2025-06-11)
15
+ ------------------
16
+
17
+ * Feature - Introduced ListControlMappings API that retrieves control mappings. Added control aliases and governed resources fields in GetControl and ListControls APIs. New filtering capability in ListControls API, with implementation identifiers and implementation types.
18
+
19
+ 1.25.0 (2025-06-02)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
4
24
  1.24.0 (2025-05-12)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.24.0
1
+ 1.28.0
@@ -95,7 +95,7 @@ module Aws::ControlCatalog
95
95
  # class name or an instance of a plugin class.
96
96
  #
97
97
  # @option options [required, Aws::CredentialProvider] :credentials
98
- # Your AWS credentials. This can be an instance of any one of the
98
+ # Your AWS credentials used for authentication. This can be an instance of any one of the
99
99
  # following classes:
100
100
  #
101
101
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
@@ -128,18 +128,23 @@ module Aws::ControlCatalog
128
128
  # locations will be searched for credentials:
129
129
  #
130
130
  # * `Aws.config[:credentials]`
131
+ #
131
132
  # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
133
  # `:account_id` options.
133
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
134
- # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
134
+ #
135
+ # * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
136
+ # `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
137
+ #
135
138
  # * `~/.aws/credentials`
139
+ #
136
140
  # * `~/.aws/config`
141
+ #
137
142
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
138
143
  # are very aggressive. Construct and pass an instance of
139
144
  # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
140
145
  # enable retries and extended timeouts. Instance profile credential
141
- # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
142
- # to true.
146
+ # fetching can be disabled by setting `ENV['AWS_EC2_METADATA_DISABLED']`
147
+ # to `true`.
143
148
  #
144
149
  # @option options [required, String] :region
145
150
  # The AWS region to connect to. The configured `:region` is
@@ -167,6 +172,11 @@ module Aws::ControlCatalog
167
172
  # When false, the request will raise a `RetryCapacityNotAvailableError` and will
168
173
  # not retry instead of sleeping.
169
174
  #
175
+ # @option options [Array<String>] :auth_scheme_preference
176
+ # A list of preferred authentication schemes to use when making a request. Supported values are:
177
+ # `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
178
+ # shared config as `auth_scheme_preference`, the value should be a comma-separated list.
179
+ #
170
180
  # @option options [Boolean] :client_side_monitoring (false)
171
181
  # When `true`, client-side metrics will be collected for all API requests from
172
182
  # this client.
@@ -253,8 +263,8 @@ module Aws::ControlCatalog
253
263
  # 4 times. Used in `standard` and `adaptive` retry modes.
254
264
  #
255
265
  # @option options [String] :profile ("default")
256
- # Used when loading credentials from the shared credentials file
257
- # at HOME/.aws/credentials. When not specified, 'default' is used.
266
+ # Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
267
+ # When not specified, 'default' is used.
258
268
  #
259
269
  # @option options [String] :request_checksum_calculation ("when_supported")
260
270
  # Determines when a checksum will be calculated for request payloads. Values are:
@@ -367,7 +377,7 @@ module Aws::ControlCatalog
367
377
  # `Aws::Telemetry::OTelProvider` for telemetry provider.
368
378
  #
369
379
  # @option options [Aws::TokenProvider] :token_provider
370
- # A Bearer Token Provider. This can be an instance of any one of the
380
+ # Your Bearer token used for authentication. This can be an instance of any one of the
371
381
  # following classes:
372
382
  #
373
383
  # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
@@ -501,6 +511,7 @@ module Aws::ControlCatalog
501
511
  # @return [Types::GetControlResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
502
512
  #
503
513
  # * {Types::GetControlResponse#arn #arn} => String
514
+ # * {Types::GetControlResponse#aliases #aliases} => Array&lt;String&gt;
504
515
  # * {Types::GetControlResponse#name #name} => String
505
516
  # * {Types::GetControlResponse#description #description} => String
506
517
  # * {Types::GetControlResponse#behavior #behavior} => String
@@ -509,6 +520,7 @@ module Aws::ControlCatalog
509
520
  # * {Types::GetControlResponse#implementation #implementation} => Types::ImplementationDetails
510
521
  # * {Types::GetControlResponse#parameters #parameters} => Array&lt;Types::ControlParameter&gt;
511
522
  # * {Types::GetControlResponse#create_time #create_time} => Time
523
+ # * {Types::GetControlResponse#governed_resources #governed_resources} => Array&lt;String&gt;
512
524
  #
513
525
  # @example Request syntax with placeholder values
514
526
  #
@@ -519,6 +531,8 @@ module Aws::ControlCatalog
519
531
  # @example Response structure
520
532
  #
521
533
  # resp.arn #=> String
534
+ # resp.aliases #=> Array
535
+ # resp.aliases[0] #=> String
522
536
  # resp.name #=> String
523
537
  # resp.description #=> String
524
538
  # resp.behavior #=> String, one of "PREVENTIVE", "PROACTIVE", "DETECTIVE"
@@ -531,6 +545,8 @@ module Aws::ControlCatalog
531
545
  # resp.parameters #=> Array
532
546
  # resp.parameters[0].name #=> String
533
547
  # resp.create_time #=> Time
548
+ # resp.governed_resources #=> Array
549
+ # resp.governed_resources[0] #=> String
534
550
  #
535
551
  # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/GetControl AWS API Documentation
536
552
  #
@@ -558,7 +574,7 @@ module Aws::ControlCatalog
558
574
  # An optional filter that narrows the results to a specific objective.
559
575
  #
560
576
  # This filter allows you to specify one objective ARN at a time. Passing
561
- # multiple ARNs in the `CommonControlFilter` isn’t currently supported.
577
+ # multiple ARNs in the `CommonControlFilter` isn’t supported.
562
578
  #
563
579
  # @return [Types::ListCommonControlsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
564
580
  #
@@ -604,11 +620,63 @@ module Aws::ControlCatalog
604
620
  req.send_request(options)
605
621
  end
606
622
 
607
- # Returns a paginated list of all available controls in the Amazon Web
608
- # Services Control Catalog library. Allows you to discover available
609
- # controls. The list of controls is given as structures of type
610
- # *controlSummary*. The ARN is returned in the global *controlcatalog*
611
- # format, as shown in the examples.
623
+ # Returns a paginated list of control mappings from the Control Catalog.
624
+ # Control mappings show relationships between controls and other
625
+ # entities, such as common controls or compliance frameworks.
626
+ #
627
+ # @option params [String] :next_token
628
+ # The pagination token that's used to fetch the next set of results.
629
+ #
630
+ # @option params [Integer] :max_results
631
+ # The maximum number of results on a page or for an API request call.
632
+ #
633
+ # @option params [Types::ControlMappingFilter] :filter
634
+ # An optional filter that narrows the results to specific control
635
+ # mappings based on control ARNs, common control ARNs, or mapping types.
636
+ #
637
+ # @return [Types::ListControlMappingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
638
+ #
639
+ # * {Types::ListControlMappingsResponse#control_mappings #control_mappings} => Array&lt;Types::ControlMapping&gt;
640
+ # * {Types::ListControlMappingsResponse#next_token #next_token} => String
641
+ #
642
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
643
+ #
644
+ # @example Request syntax with placeholder values
645
+ #
646
+ # resp = client.list_control_mappings({
647
+ # next_token: "PaginationToken",
648
+ # max_results: 1,
649
+ # filter: {
650
+ # control_arns: ["ControlArn"],
651
+ # common_control_arns: ["CommonControlArn"],
652
+ # mapping_types: ["FRAMEWORK"], # accepts FRAMEWORK, COMMON_CONTROL
653
+ # },
654
+ # })
655
+ #
656
+ # @example Response structure
657
+ #
658
+ # resp.control_mappings #=> Array
659
+ # resp.control_mappings[0].control_arn #=> String
660
+ # resp.control_mappings[0].mapping_type #=> String, one of "FRAMEWORK", "COMMON_CONTROL"
661
+ # resp.control_mappings[0].mapping.framework.name #=> String
662
+ # resp.control_mappings[0].mapping.framework.item #=> String
663
+ # resp.control_mappings[0].mapping.common_control.common_control_arn #=> String
664
+ # resp.next_token #=> String
665
+ #
666
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ListControlMappings AWS API Documentation
667
+ #
668
+ # @overload list_control_mappings(params = {})
669
+ # @param [Hash] params ({})
670
+ def list_control_mappings(params = {}, options = {})
671
+ req = build_request(:list_control_mappings, params)
672
+ req.send_request(options)
673
+ end
674
+
675
+ # Returns a paginated list of all available controls in the Control
676
+ # Catalog library. Allows you to discover available controls. The list
677
+ # of controls is given as structures of type *controlSummary*. The ARN
678
+ # is returned in the global *controlcatalog* format, as shown in the
679
+ # examples.
612
680
  #
613
681
  # @option params [String] :next_token
614
682
  # The pagination token that's used to fetch the next set of results.
@@ -616,6 +684,11 @@ module Aws::ControlCatalog
616
684
  # @option params [Integer] :max_results
617
685
  # The maximum number of results on a page or for an API request call.
618
686
  #
687
+ # @option params [Types::ControlFilter] :filter
688
+ # An optional filter that narrows the results to controls with specific
689
+ # implementation types or identifiers. If you don't provide a filter,
690
+ # the operation returns all available controls.
691
+ #
619
692
  # @return [Types::ListControlsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
620
693
  #
621
694
  # * {Types::ListControlsResponse#controls #controls} => Array&lt;Types::ControlSummary&gt;
@@ -628,12 +701,20 @@ module Aws::ControlCatalog
628
701
  # resp = client.list_controls({
629
702
  # next_token: "PaginationToken",
630
703
  # max_results: 1,
704
+ # filter: {
705
+ # implementations: {
706
+ # types: ["ImplementationType"],
707
+ # identifiers: ["ImplementationIdentifier"],
708
+ # },
709
+ # },
631
710
  # })
632
711
  #
633
712
  # @example Response structure
634
713
  #
635
714
  # resp.controls #=> Array
636
715
  # resp.controls[0].arn #=> String
716
+ # resp.controls[0].aliases #=> Array
717
+ # resp.controls[0].aliases[0] #=> String
637
718
  # resp.controls[0].name #=> String
638
719
  # resp.controls[0].description #=> String
639
720
  # resp.controls[0].behavior #=> String, one of "PREVENTIVE", "PROACTIVE", "DETECTIVE"
@@ -641,6 +722,8 @@ module Aws::ControlCatalog
641
722
  # resp.controls[0].implementation.type #=> String
642
723
  # resp.controls[0].implementation.identifier #=> String
643
724
  # resp.controls[0].create_time #=> Time
725
+ # resp.controls[0].governed_resources #=> Array
726
+ # resp.controls[0].governed_resources[0] #=> String
644
727
  # resp.next_token #=> String
645
728
  #
646
729
  # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ListControls AWS API Documentation
@@ -652,8 +735,7 @@ module Aws::ControlCatalog
652
735
  req.send_request(options)
653
736
  end
654
737
 
655
- # Returns a paginated list of domains from the Amazon Web Services
656
- # Control Catalog.
738
+ # Returns a paginated list of domains from the Control Catalog.
657
739
  #
658
740
  # @option params [Integer] :max_results
659
741
  # The maximum number of results on a page or for an API request call.
@@ -694,8 +776,7 @@ module Aws::ControlCatalog
694
776
  req.send_request(options)
695
777
  end
696
778
 
697
- # Returns a paginated list of objectives from the Amazon Web Services
698
- # Control Catalog.
779
+ # Returns a paginated list of objectives from the Control Catalog.
699
780
  #
700
781
  # You can apply an optional filter to see the objectives that belong to
701
782
  # a specific domain. If you don’t provide a filter, the operation
@@ -711,7 +792,7 @@ module Aws::ControlCatalog
711
792
  # An optional filter that narrows the results to a specific domain.
712
793
  #
713
794
  # This filter allows you to specify one domain ARN at a time. Passing
714
- # multiple ARNs in the `ObjectiveFilter` isn’t currently supported.
795
+ # multiple ARNs in the `ObjectiveFilter` isn’t supported.
715
796
  #
716
797
  # @return [Types::ListObjectivesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
717
798
  #
@@ -773,7 +854,7 @@ module Aws::ControlCatalog
773
854
  tracer: tracer
774
855
  )
775
856
  context[:gem_name] = 'aws-sdk-controlcatalog'
776
- context[:gem_version] = '1.24.0'
857
+ context[:gem_version] = '1.28.0'
777
858
  Seahorse::Client::Request.new(handlers, context)
778
859
  end
779
860
 
@@ -18,11 +18,20 @@ module Aws::ControlCatalog
18
18
  AssociatedDomainSummary = Shapes::StructureShape.new(name: 'AssociatedDomainSummary')
19
19
  AssociatedObjectiveSummary = Shapes::StructureShape.new(name: 'AssociatedObjectiveSummary')
20
20
  CommonControlArn = Shapes::StringShape.new(name: 'CommonControlArn')
21
+ CommonControlArnFilterList = Shapes::ListShape.new(name: 'CommonControlArnFilterList')
21
22
  CommonControlFilter = Shapes::StructureShape.new(name: 'CommonControlFilter')
23
+ CommonControlMappingDetails = Shapes::StructureShape.new(name: 'CommonControlMappingDetails')
22
24
  CommonControlSummary = Shapes::StructureShape.new(name: 'CommonControlSummary')
23
25
  CommonControlSummaryList = Shapes::ListShape.new(name: 'CommonControlSummaryList')
26
+ ControlAlias = Shapes::StringShape.new(name: 'ControlAlias')
27
+ ControlAliases = Shapes::ListShape.new(name: 'ControlAliases')
24
28
  ControlArn = Shapes::StringShape.new(name: 'ControlArn')
29
+ ControlArnFilterList = Shapes::ListShape.new(name: 'ControlArnFilterList')
25
30
  ControlBehavior = Shapes::StringShape.new(name: 'ControlBehavior')
31
+ ControlFilter = Shapes::StructureShape.new(name: 'ControlFilter')
32
+ ControlMapping = Shapes::StructureShape.new(name: 'ControlMapping')
33
+ ControlMappingFilter = Shapes::StructureShape.new(name: 'ControlMappingFilter')
34
+ ControlMappings = Shapes::ListShape.new(name: 'ControlMappings')
26
35
  ControlParameter = Shapes::StructureShape.new(name: 'ControlParameter')
27
36
  ControlParameters = Shapes::ListShape.new(name: 'ControlParameters')
28
37
  ControlScope = Shapes::StringShape.new(name: 'ControlScope')
@@ -35,22 +44,36 @@ module Aws::ControlCatalog
35
44
  DomainResourceFilterList = Shapes::ListShape.new(name: 'DomainResourceFilterList')
36
45
  DomainSummary = Shapes::StructureShape.new(name: 'DomainSummary')
37
46
  DomainSummaryList = Shapes::ListShape.new(name: 'DomainSummaryList')
47
+ FrameworkItem = Shapes::StringShape.new(name: 'FrameworkItem')
48
+ FrameworkMappingDetails = Shapes::StructureShape.new(name: 'FrameworkMappingDetails')
49
+ FrameworkName = Shapes::StringShape.new(name: 'FrameworkName')
38
50
  GetControlRequest = Shapes::StructureShape.new(name: 'GetControlRequest')
39
51
  GetControlResponse = Shapes::StructureShape.new(name: 'GetControlResponse')
52
+ GovernedResource = Shapes::StringShape.new(name: 'GovernedResource')
53
+ GovernedResources = Shapes::ListShape.new(name: 'GovernedResources')
40
54
  ImplementationDetails = Shapes::StructureShape.new(name: 'ImplementationDetails')
55
+ ImplementationFilter = Shapes::StructureShape.new(name: 'ImplementationFilter')
41
56
  ImplementationIdentifier = Shapes::StringShape.new(name: 'ImplementationIdentifier')
57
+ ImplementationIdentifierFilterList = Shapes::ListShape.new(name: 'ImplementationIdentifierFilterList')
42
58
  ImplementationSummary = Shapes::StructureShape.new(name: 'ImplementationSummary')
43
59
  ImplementationType = Shapes::StringShape.new(name: 'ImplementationType')
60
+ ImplementationTypeFilterList = Shapes::ListShape.new(name: 'ImplementationTypeFilterList')
44
61
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
45
62
  ListCommonControlsRequest = Shapes::StructureShape.new(name: 'ListCommonControlsRequest')
46
63
  ListCommonControlsResponse = Shapes::StructureShape.new(name: 'ListCommonControlsResponse')
64
+ ListControlMappingsRequest = Shapes::StructureShape.new(name: 'ListControlMappingsRequest')
65
+ ListControlMappingsResponse = Shapes::StructureShape.new(name: 'ListControlMappingsResponse')
47
66
  ListControlsRequest = Shapes::StructureShape.new(name: 'ListControlsRequest')
48
67
  ListControlsResponse = Shapes::StructureShape.new(name: 'ListControlsResponse')
49
68
  ListDomainsRequest = Shapes::StructureShape.new(name: 'ListDomainsRequest')
50
69
  ListDomainsResponse = Shapes::StructureShape.new(name: 'ListDomainsResponse')
51
70
  ListObjectivesRequest = Shapes::StructureShape.new(name: 'ListObjectivesRequest')
52
71
  ListObjectivesResponse = Shapes::StructureShape.new(name: 'ListObjectivesResponse')
72
+ Mapping = Shapes::UnionShape.new(name: 'Mapping')
73
+ MappingType = Shapes::StringShape.new(name: 'MappingType')
74
+ MappingTypeFilterList = Shapes::ListShape.new(name: 'MappingTypeFilterList')
53
75
  MaxListCommonControlsResults = Shapes::IntegerShape.new(name: 'MaxListCommonControlsResults')
76
+ MaxListControlMappingsResults = Shapes::IntegerShape.new(name: 'MaxListControlMappingsResults')
54
77
  MaxListControlsResults = Shapes::IntegerShape.new(name: 'MaxListControlsResults')
55
78
  MaxListDomainsResults = Shapes::IntegerShape.new(name: 'MaxListDomainsResults')
56
79
  MaxListObjectivesResults = Shapes::IntegerShape.new(name: 'MaxListObjectivesResults')
@@ -80,9 +103,14 @@ module Aws::ControlCatalog
80
103
  AssociatedObjectiveSummary.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "Name"))
81
104
  AssociatedObjectiveSummary.struct_class = Types::AssociatedObjectiveSummary
82
105
 
106
+ CommonControlArnFilterList.member = Shapes::ShapeRef.new(shape: CommonControlArn)
107
+
83
108
  CommonControlFilter.add_member(:objectives, Shapes::ShapeRef.new(shape: ObjectiveResourceFilterList, location_name: "Objectives"))
84
109
  CommonControlFilter.struct_class = Types::CommonControlFilter
85
110
 
111
+ CommonControlMappingDetails.add_member(:common_control_arn, Shapes::ShapeRef.new(shape: CommonControlArn, required: true, location_name: "CommonControlArn"))
112
+ CommonControlMappingDetails.struct_class = Types::CommonControlMappingDetails
113
+
86
114
  CommonControlSummary.add_member(:arn, Shapes::ShapeRef.new(shape: CommonControlArn, required: true, location_name: "Arn"))
87
115
  CommonControlSummary.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Name"))
88
116
  CommonControlSummary.add_member(:description, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Description"))
@@ -94,18 +122,39 @@ module Aws::ControlCatalog
94
122
 
95
123
  CommonControlSummaryList.member = Shapes::ShapeRef.new(shape: CommonControlSummary)
96
124
 
125
+ ControlAliases.member = Shapes::ShapeRef.new(shape: ControlAlias)
126
+
127
+ ControlArnFilterList.member = Shapes::ShapeRef.new(shape: ControlArn)
128
+
129
+ ControlFilter.add_member(:implementations, Shapes::ShapeRef.new(shape: ImplementationFilter, location_name: "Implementations"))
130
+ ControlFilter.struct_class = Types::ControlFilter
131
+
132
+ ControlMapping.add_member(:control_arn, Shapes::ShapeRef.new(shape: ControlArn, required: true, location_name: "ControlArn"))
133
+ ControlMapping.add_member(:mapping_type, Shapes::ShapeRef.new(shape: MappingType, required: true, location_name: "MappingType"))
134
+ ControlMapping.add_member(:mapping, Shapes::ShapeRef.new(shape: Mapping, required: true, location_name: "Mapping"))
135
+ ControlMapping.struct_class = Types::ControlMapping
136
+
137
+ ControlMappingFilter.add_member(:control_arns, Shapes::ShapeRef.new(shape: ControlArnFilterList, location_name: "ControlArns"))
138
+ ControlMappingFilter.add_member(:common_control_arns, Shapes::ShapeRef.new(shape: CommonControlArnFilterList, location_name: "CommonControlArns"))
139
+ ControlMappingFilter.add_member(:mapping_types, Shapes::ShapeRef.new(shape: MappingTypeFilterList, location_name: "MappingTypes"))
140
+ ControlMappingFilter.struct_class = Types::ControlMappingFilter
141
+
142
+ ControlMappings.member = Shapes::ShapeRef.new(shape: ControlMapping)
143
+
97
144
  ControlParameter.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Name"))
98
145
  ControlParameter.struct_class = Types::ControlParameter
99
146
 
100
147
  ControlParameters.member = Shapes::ShapeRef.new(shape: ControlParameter)
101
148
 
102
149
  ControlSummary.add_member(:arn, Shapes::ShapeRef.new(shape: ControlArn, required: true, location_name: "Arn"))
150
+ ControlSummary.add_member(:aliases, Shapes::ShapeRef.new(shape: ControlAliases, location_name: "Aliases"))
103
151
  ControlSummary.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Name"))
104
152
  ControlSummary.add_member(:description, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Description"))
105
153
  ControlSummary.add_member(:behavior, Shapes::ShapeRef.new(shape: ControlBehavior, location_name: "Behavior"))
106
154
  ControlSummary.add_member(:severity, Shapes::ShapeRef.new(shape: ControlSeverity, location_name: "Severity"))
107
155
  ControlSummary.add_member(:implementation, Shapes::ShapeRef.new(shape: ImplementationSummary, location_name: "Implementation"))
108
156
  ControlSummary.add_member(:create_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreateTime"))
157
+ ControlSummary.add_member(:governed_resources, Shapes::ShapeRef.new(shape: GovernedResources, location_name: "GovernedResources"))
109
158
  ControlSummary.struct_class = Types::ControlSummary
110
159
 
111
160
  Controls.member = Shapes::ShapeRef.new(shape: ControlSummary)
@@ -126,10 +175,15 @@ module Aws::ControlCatalog
126
175
 
127
176
  DomainSummaryList.member = Shapes::ShapeRef.new(shape: DomainSummary)
128
177
 
178
+ FrameworkMappingDetails.add_member(:name, Shapes::ShapeRef.new(shape: FrameworkName, required: true, location_name: "Name"))
179
+ FrameworkMappingDetails.add_member(:item, Shapes::ShapeRef.new(shape: FrameworkItem, required: true, location_name: "Item"))
180
+ FrameworkMappingDetails.struct_class = Types::FrameworkMappingDetails
181
+
129
182
  GetControlRequest.add_member(:control_arn, Shapes::ShapeRef.new(shape: ControlArn, required: true, location_name: "ControlArn"))
130
183
  GetControlRequest.struct_class = Types::GetControlRequest
131
184
 
132
185
  GetControlResponse.add_member(:arn, Shapes::ShapeRef.new(shape: ControlArn, required: true, location_name: "Arn"))
186
+ GetControlResponse.add_member(:aliases, Shapes::ShapeRef.new(shape: ControlAliases, location_name: "Aliases"))
133
187
  GetControlResponse.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Name"))
134
188
  GetControlResponse.add_member(:description, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Description"))
135
189
  GetControlResponse.add_member(:behavior, Shapes::ShapeRef.new(shape: ControlBehavior, required: true, location_name: "Behavior"))
@@ -138,16 +192,27 @@ module Aws::ControlCatalog
138
192
  GetControlResponse.add_member(:implementation, Shapes::ShapeRef.new(shape: ImplementationDetails, location_name: "Implementation"))
139
193
  GetControlResponse.add_member(:parameters, Shapes::ShapeRef.new(shape: ControlParameters, location_name: "Parameters"))
140
194
  GetControlResponse.add_member(:create_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreateTime"))
195
+ GetControlResponse.add_member(:governed_resources, Shapes::ShapeRef.new(shape: GovernedResources, location_name: "GovernedResources"))
141
196
  GetControlResponse.struct_class = Types::GetControlResponse
142
197
 
198
+ GovernedResources.member = Shapes::ShapeRef.new(shape: GovernedResource)
199
+
143
200
  ImplementationDetails.add_member(:type, Shapes::ShapeRef.new(shape: ImplementationType, required: true, location_name: "Type"))
144
201
  ImplementationDetails.add_member(:identifier, Shapes::ShapeRef.new(shape: ImplementationIdentifier, location_name: "Identifier"))
145
202
  ImplementationDetails.struct_class = Types::ImplementationDetails
146
203
 
204
+ ImplementationFilter.add_member(:types, Shapes::ShapeRef.new(shape: ImplementationTypeFilterList, location_name: "Types"))
205
+ ImplementationFilter.add_member(:identifiers, Shapes::ShapeRef.new(shape: ImplementationIdentifierFilterList, location_name: "Identifiers"))
206
+ ImplementationFilter.struct_class = Types::ImplementationFilter
207
+
208
+ ImplementationIdentifierFilterList.member = Shapes::ShapeRef.new(shape: ImplementationIdentifier)
209
+
147
210
  ImplementationSummary.add_member(:type, Shapes::ShapeRef.new(shape: ImplementationType, required: true, location_name: "Type"))
148
211
  ImplementationSummary.add_member(:identifier, Shapes::ShapeRef.new(shape: ImplementationIdentifier, location_name: "Identifier"))
149
212
  ImplementationSummary.struct_class = Types::ImplementationSummary
150
213
 
214
+ ImplementationTypeFilterList.member = Shapes::ShapeRef.new(shape: ImplementationType)
215
+
151
216
  InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
152
217
  InternalServerException.struct_class = Types::InternalServerException
153
218
 
@@ -160,8 +225,18 @@ module Aws::ControlCatalog
160
225
  ListCommonControlsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
161
226
  ListCommonControlsResponse.struct_class = Types::ListCommonControlsResponse
162
227
 
228
+ ListControlMappingsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location: "querystring", location_name: "nextToken"))
229
+ ListControlMappingsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxListControlMappingsResults, location: "querystring", location_name: "maxResults"))
230
+ ListControlMappingsRequest.add_member(:filter, Shapes::ShapeRef.new(shape: ControlMappingFilter, location_name: "Filter"))
231
+ ListControlMappingsRequest.struct_class = Types::ListControlMappingsRequest
232
+
233
+ ListControlMappingsResponse.add_member(:control_mappings, Shapes::ShapeRef.new(shape: ControlMappings, required: true, location_name: "ControlMappings"))
234
+ ListControlMappingsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
235
+ ListControlMappingsResponse.struct_class = Types::ListControlMappingsResponse
236
+
163
237
  ListControlsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location: "querystring", location_name: "nextToken"))
164
238
  ListControlsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxListControlsResults, location: "querystring", location_name: "maxResults"))
239
+ ListControlsRequest.add_member(:filter, Shapes::ShapeRef.new(shape: ControlFilter, location_name: "Filter"))
165
240
  ListControlsRequest.struct_class = Types::ListControlsRequest
166
241
 
167
242
  ListControlsResponse.add_member(:controls, Shapes::ShapeRef.new(shape: Controls, required: true, location_name: "Controls"))
@@ -185,6 +260,16 @@ module Aws::ControlCatalog
185
260
  ListObjectivesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
186
261
  ListObjectivesResponse.struct_class = Types::ListObjectivesResponse
187
262
 
263
+ Mapping.add_member(:framework, Shapes::ShapeRef.new(shape: FrameworkMappingDetails, location_name: "Framework"))
264
+ Mapping.add_member(:common_control, Shapes::ShapeRef.new(shape: CommonControlMappingDetails, location_name: "CommonControl"))
265
+ Mapping.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
266
+ Mapping.add_member_subclass(:framework, Types::Mapping::Framework)
267
+ Mapping.add_member_subclass(:common_control, Types::Mapping::CommonControl)
268
+ Mapping.add_member_subclass(:unknown, Types::Mapping::Unknown)
269
+ Mapping.struct_class = Types::Mapping
270
+
271
+ MappingTypeFilterList.member = Shapes::ShapeRef.new(shape: MappingType)
272
+
188
273
  ObjectiveFilter.add_member(:domains, Shapes::ShapeRef.new(shape: DomainResourceFilterList, location_name: "Domains"))
189
274
  ObjectiveFilter.struct_class = Types::ObjectiveFilter
190
275
 
@@ -266,6 +351,24 @@ module Aws::ControlCatalog
266
351
  )
267
352
  end)
268
353
 
354
+ api.add_operation(:list_control_mappings, Seahorse::Model::Operation.new.tap do |o|
355
+ o.name = "ListControlMappings"
356
+ o.http_method = "POST"
357
+ o.http_request_uri = "/list-control-mappings"
358
+ o.input = Shapes::ShapeRef.new(shape: ListControlMappingsRequest)
359
+ o.output = Shapes::ShapeRef.new(shape: ListControlMappingsResponse)
360
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
361
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
362
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
363
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
364
+ o[:pager] = Aws::Pager.new(
365
+ limit_key: "max_results",
366
+ tokens: {
367
+ "next_token" => "next_token"
368
+ }
369
+ )
370
+ end)
371
+
269
372
  api.add_operation(:list_controls, Seahorse::Model::Operation.new.tap do |o|
270
373
  o.name = "ListControls"
271
374
  o.http_method = "POST"
@@ -68,8 +68,7 @@ module Aws::ControlCatalog
68
68
  # The objective that's used as filter criteria.
69
69
  #
70
70
  # You can use this parameter to specify one objective ARN at a time.
71
- # Passing multiple ARNs in the `CommonControlFilter` isn’t currently
72
- # supported.
71
+ # Passing multiple ARNs in the `CommonControlFilter` isn’t supported.
73
72
  # @return [Array<Types::ObjectiveResourceFilter>]
74
73
  #
75
74
  # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/CommonControlFilter AWS API Documentation
@@ -80,6 +79,23 @@ module Aws::ControlCatalog
80
79
  include Aws::Structure
81
80
  end
82
81
 
82
+ # A structure that contains details about a common control mapping. In
83
+ # particular, it returns the Amazon Resource Name (ARN) of the common
84
+ # control.
85
+ #
86
+ # @!attribute [rw] common_control_arn
87
+ # The Amazon Resource Name (ARN) that identifies the common control in
88
+ # the mapping.
89
+ # @return [String]
90
+ #
91
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/CommonControlMappingDetails AWS API Documentation
92
+ #
93
+ class CommonControlMappingDetails < Struct.new(
94
+ :common_control_arn)
95
+ SENSITIVE = []
96
+ include Aws::Structure
97
+ end
98
+
83
99
  # A summary of metadata for a common control.
84
100
  #
85
101
  # @!attribute [rw] arn
@@ -124,6 +140,85 @@ module Aws::ControlCatalog
124
140
  include Aws::Structure
125
141
  end
126
142
 
143
+ # A structure that defines filtering criteria for the ListControls
144
+ # operation. You can use this filter to narrow down the list of controls
145
+ # based on their implementation details.
146
+ #
147
+ # @!attribute [rw] implementations
148
+ # A filter that narrows the results to controls with specific
149
+ # implementation types or identifiers. This field allows you to find
150
+ # controls that are implemented by specific Amazon Web Services
151
+ # services or with specific service identifiers.
152
+ # @return [Types::ImplementationFilter]
153
+ #
154
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ControlFilter AWS API Documentation
155
+ #
156
+ class ControlFilter < Struct.new(
157
+ :implementations)
158
+ SENSITIVE = []
159
+ include Aws::Structure
160
+ end
161
+
162
+ # A structure that contains information about a control mapping,
163
+ # including the control ARN, mapping type, and mapping details.
164
+ #
165
+ # @!attribute [rw] control_arn
166
+ # The Amazon Resource Name (ARN) that identifies the control in the
167
+ # mapping.
168
+ # @return [String]
169
+ #
170
+ # @!attribute [rw] mapping_type
171
+ # The type of mapping relationship between the control and other
172
+ # entities. Indicates whether the mapping is to a framework or common
173
+ # control.
174
+ # @return [String]
175
+ #
176
+ # @!attribute [rw] mapping
177
+ # The details of the mapping relationship, containing either framework
178
+ # or common control information.
179
+ # @return [Types::Mapping]
180
+ #
181
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ControlMapping AWS API Documentation
182
+ #
183
+ class ControlMapping < Struct.new(
184
+ :control_arn,
185
+ :mapping_type,
186
+ :mapping)
187
+ SENSITIVE = []
188
+ include Aws::Structure
189
+ end
190
+
191
+ # A structure that defines filtering criteria for the
192
+ # ListControlMappings operation. You can use this filter to narrow down
193
+ # the list of control mappings based on control ARNs, common control
194
+ # ARNs, or mapping types.
195
+ #
196
+ # @!attribute [rw] control_arns
197
+ # A list of control ARNs to filter the mappings. When specified, only
198
+ # mappings associated with these controls are returned.
199
+ # @return [Array<String>]
200
+ #
201
+ # @!attribute [rw] common_control_arns
202
+ # A list of common control ARNs to filter the mappings. When
203
+ # specified, only mappings associated with these common controls are
204
+ # returned.
205
+ # @return [Array<String>]
206
+ #
207
+ # @!attribute [rw] mapping_types
208
+ # A list of mapping types to filter the mappings. When specified, only
209
+ # mappings of these types are returned.
210
+ # @return [Array<String>]
211
+ #
212
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ControlMappingFilter AWS API Documentation
213
+ #
214
+ class ControlMappingFilter < Struct.new(
215
+ :control_arns,
216
+ :common_control_arns,
217
+ :mapping_types)
218
+ SENSITIVE = []
219
+ include Aws::Structure
220
+ end
221
+
127
222
  # Five types of control parameters are supported.
128
223
  #
129
224
  # * **AllowedRegions**: List of Amazon Web Services Regions exempted
@@ -196,6 +291,13 @@ module Aws::ControlCatalog
196
291
  # The Amazon Resource Name (ARN) of the control.
197
292
  # @return [String]
198
293
  #
294
+ # @!attribute [rw] aliases
295
+ # A list of alternative identifiers for the control. These are
296
+ # human-readable designators, such as `SH.S3.1`. Several aliases can
297
+ # refer to the same control across different Amazon Web Services
298
+ # services or compliance frameworks.
299
+ # @return [Array<String>]
300
+ #
199
301
  # @!attribute [rw] name
200
302
  # The display name of the control.
201
303
  # @return [String]
@@ -223,16 +325,29 @@ module Aws::ControlCatalog
223
325
  # of its life) as a governance capability in Amazon Web Services.
224
326
  # @return [Time]
225
327
  #
328
+ # @!attribute [rw] governed_resources
329
+ # A list of Amazon Web Services resource types that are governed by
330
+ # this control. This information helps you understand which controls
331
+ # can govern certain types of resources, and conversely, which
332
+ # resources are affected when the control is implemented. The
333
+ # resources are represented as Amazon Web Services CloudFormation
334
+ # resource types. If `GovernedResources` cannot be represented by
335
+ # available CloudFormation resource types, it’s returned as an empty
336
+ # list.
337
+ # @return [Array<String>]
338
+ #
226
339
  # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ControlSummary AWS API Documentation
227
340
  #
228
341
  class ControlSummary < Struct.new(
229
342
  :arn,
343
+ :aliases,
230
344
  :name,
231
345
  :description,
232
346
  :behavior,
233
347
  :severity,
234
348
  :implementation,
235
- :create_time)
349
+ :create_time,
350
+ :governed_resources)
236
351
  SENSITIVE = []
237
352
  include Aws::Structure
238
353
  end
@@ -285,6 +400,28 @@ module Aws::ControlCatalog
285
400
  include Aws::Structure
286
401
  end
287
402
 
403
+ # A structure that contains details about a framework mapping, including
404
+ # the framework name and specific item within the framework that the
405
+ # control maps to.
406
+ #
407
+ # @!attribute [rw] name
408
+ # The name of the compliance framework that the control maps to.
409
+ # @return [String]
410
+ #
411
+ # @!attribute [rw] item
412
+ # The specific item or requirement within the framework that the
413
+ # control maps to.
414
+ # @return [String]
415
+ #
416
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/FrameworkMappingDetails AWS API Documentation
417
+ #
418
+ class FrameworkMappingDetails < Struct.new(
419
+ :name,
420
+ :item)
421
+ SENSITIVE = []
422
+ include Aws::Structure
423
+ end
424
+
288
425
  # @!attribute [rw] control_arn
289
426
  # The Amazon Resource Name (ARN) of the control. It has one of the
290
427
  # following formats:
@@ -315,6 +452,13 @@ module Aws::ControlCatalog
315
452
  # The Amazon Resource Name (ARN) of the control.
316
453
  # @return [String]
317
454
  #
455
+ # @!attribute [rw] aliases
456
+ # A list of alternative identifiers for the control. These are
457
+ # human-readable designators, such as `SH.S3.1`. Several aliases can
458
+ # refer to the same control across different Amazon Web Services
459
+ # services or compliance frameworks.
460
+ # @return [Array<String>]
461
+ #
318
462
  # @!attribute [rw] name
319
463
  # The display name of the control.
320
464
  # @return [String]
@@ -334,8 +478,8 @@ module Aws::ControlCatalog
334
478
  #
335
479
  # @!attribute [rw] region_configuration
336
480
  # Returns information about the control, including the scope of the
337
- # control, if enabled, and the Regions in which the control currently
338
- # is available for deployment. For more information about scope, see
481
+ # control, if enabled, and the Regions in which the control is
482
+ # available for deployment. For more information about scope, see
339
483
  # [Global services][1].
340
484
  #
341
485
  # If you are applying controls through an Amazon Web Services Control
@@ -370,10 +514,22 @@ module Aws::ControlCatalog
370
514
  # of its life) as a governance capability in Amazon Web Services.
371
515
  # @return [Time]
372
516
  #
517
+ # @!attribute [rw] governed_resources
518
+ # A list of Amazon Web Services resource types that are governed by
519
+ # this control. This information helps you understand which controls
520
+ # can govern certain types of resources, and conversely, which
521
+ # resources are affected when the control is implemented. The
522
+ # resources are represented as Amazon Web Services CloudFormation
523
+ # resource types. If `GovernedResources` cannot be represented by
524
+ # available CloudFormation resource types, it’s returned as an empty
525
+ # list.
526
+ # @return [Array<String>]
527
+ #
373
528
  # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/GetControlResponse AWS API Documentation
374
529
  #
375
530
  class GetControlResponse < Struct.new(
376
531
  :arn,
532
+ :aliases,
377
533
  :name,
378
534
  :description,
379
535
  :behavior,
@@ -381,7 +537,8 @@ module Aws::ControlCatalog
381
537
  :region_configuration,
382
538
  :implementation,
383
539
  :parameters,
384
- :create_time)
540
+ :create_time,
541
+ :governed_resources)
385
542
  SENSITIVE = []
386
543
  include Aws::Structure
387
544
  end
@@ -433,6 +590,33 @@ module Aws::ControlCatalog
433
590
  include Aws::Structure
434
591
  end
435
592
 
593
+ # A structure that defines filtering criteria for control
594
+ # implementations. You can use this filter to find controls that are
595
+ # implemented by specific Amazon Web Services services or with specific
596
+ # service identifiers.
597
+ #
598
+ # @!attribute [rw] types
599
+ # A list of implementation types that can serve as filters. For
600
+ # example, you can filter for controls implemented as Amazon Web
601
+ # Services Config Rules by specifying AWS::Config::ConfigRule as a
602
+ # type.
603
+ # @return [Array<String>]
604
+ #
605
+ # @!attribute [rw] identifiers
606
+ # A list of service-specific identifiers that can serve as filters.
607
+ # For example, you can filter for controls with specific Amazon Web
608
+ # Services Config Rule IDs or Security Hub Control IDs.
609
+ # @return [Array<String>]
610
+ #
611
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ImplementationFilter AWS API Documentation
612
+ #
613
+ class ImplementationFilter < Struct.new(
614
+ :types,
615
+ :identifiers)
616
+ SENSITIVE = []
617
+ include Aws::Structure
618
+ end
619
+
436
620
  # A summary of how the control is implemented, including the Amazon Web
437
621
  # Services service that enforces the control and its service-specific
438
622
  # identifier. For example, the value of this field could indicate that
@@ -489,8 +673,7 @@ module Aws::ControlCatalog
489
673
  # An optional filter that narrows the results to a specific objective.
490
674
  #
491
675
  # This filter allows you to specify one objective ARN at a time.
492
- # Passing multiple ARNs in the `CommonControlFilter` isn’t currently
493
- # supported.
676
+ # Passing multiple ARNs in the `CommonControlFilter` isn’t supported.
494
677
  # @return [Types::CommonControlFilter]
495
678
  #
496
679
  # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ListCommonControlsRequest AWS API Documentation
@@ -529,11 +712,60 @@ module Aws::ControlCatalog
529
712
  # The maximum number of results on a page or for an API request call.
530
713
  # @return [Integer]
531
714
  #
715
+ # @!attribute [rw] filter
716
+ # An optional filter that narrows the results to specific control
717
+ # mappings based on control ARNs, common control ARNs, or mapping
718
+ # types.
719
+ # @return [Types::ControlMappingFilter]
720
+ #
721
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ListControlMappingsRequest AWS API Documentation
722
+ #
723
+ class ListControlMappingsRequest < Struct.new(
724
+ :next_token,
725
+ :max_results,
726
+ :filter)
727
+ SENSITIVE = []
728
+ include Aws::Structure
729
+ end
730
+
731
+ # @!attribute [rw] control_mappings
732
+ # The list of control mappings that the ListControlMappings API
733
+ # returns.
734
+ # @return [Array<Types::ControlMapping>]
735
+ #
736
+ # @!attribute [rw] next_token
737
+ # The pagination token that's used to fetch the next set of results.
738
+ # @return [String]
739
+ #
740
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ListControlMappingsResponse AWS API Documentation
741
+ #
742
+ class ListControlMappingsResponse < Struct.new(
743
+ :control_mappings,
744
+ :next_token)
745
+ SENSITIVE = []
746
+ include Aws::Structure
747
+ end
748
+
749
+ # @!attribute [rw] next_token
750
+ # The pagination token that's used to fetch the next set of results.
751
+ # @return [String]
752
+ #
753
+ # @!attribute [rw] max_results
754
+ # The maximum number of results on a page or for an API request call.
755
+ # @return [Integer]
756
+ #
757
+ # @!attribute [rw] filter
758
+ # An optional filter that narrows the results to controls with
759
+ # specific implementation types or identifiers. If you don't provide
760
+ # a filter, the operation returns all available controls.
761
+ # @return [Types::ControlFilter]
762
+ #
532
763
  # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ListControlsRequest AWS API Documentation
533
764
  #
534
765
  class ListControlsRequest < Struct.new(
535
766
  :next_token,
536
- :max_results)
767
+ :max_results,
768
+ :filter)
537
769
  SENSITIVE = []
538
770
  include Aws::Structure
539
771
  end
@@ -602,7 +834,7 @@ module Aws::ControlCatalog
602
834
  # An optional filter that narrows the results to a specific domain.
603
835
  #
604
836
  # This filter allows you to specify one domain ARN at a time. Passing
605
- # multiple ARNs in the `ObjectiveFilter` isn’t currently supported.
837
+ # multiple ARNs in the `ObjectiveFilter` isn’t supported.
606
838
  # @return [Types::ObjectiveFilter]
607
839
  #
608
840
  # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ListObjectivesRequest AWS API Documentation
@@ -632,6 +864,36 @@ module Aws::ControlCatalog
632
864
  include Aws::Structure
633
865
  end
634
866
 
867
+ # A structure that contains the details of a mapping relationship, which
868
+ # can be either to a framework or to a common control.
869
+ #
870
+ # @note Mapping is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of Mapping corresponding to the set member.
871
+ #
872
+ # @!attribute [rw] framework
873
+ # The framework mapping details when the mapping type relates to a
874
+ # compliance framework.
875
+ # @return [Types::FrameworkMappingDetails]
876
+ #
877
+ # @!attribute [rw] common_control
878
+ # The common control mapping details when the mapping type relates to
879
+ # a common control.
880
+ # @return [Types::CommonControlMappingDetails]
881
+ #
882
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/Mapping AWS API Documentation
883
+ #
884
+ class Mapping < Struct.new(
885
+ :framework,
886
+ :common_control,
887
+ :unknown)
888
+ SENSITIVE = []
889
+ include Aws::Structure
890
+ include Aws::Structure::Union
891
+
892
+ class Framework < Mapping; end
893
+ class CommonControl < Mapping; end
894
+ class Unknown < Mapping; end
895
+ end
896
+
635
897
  # An optional filter that narrows the list of objectives to a specific
636
898
  # domain.
637
899
  #
@@ -639,8 +901,7 @@ module Aws::ControlCatalog
639
901
  # The domain that's used as filter criteria.
640
902
  #
641
903
  # You can use this parameter to specify one domain ARN at a time.
642
- # Passing multiple ARNs in the `ObjectiveFilter` isn’t currently
643
- # supported.
904
+ # Passing multiple ARNs in the `ObjectiveFilter` isn’t supported.
644
905
  # @return [Array<Types::DomainResourceFilter>]
645
906
  #
646
907
  # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ObjectiveFilter AWS API Documentation
@@ -705,9 +966,9 @@ module Aws::ControlCatalog
705
966
  end
706
967
 
707
968
  # Returns information about the control, including the scope of the
708
- # control, if enabled, and the Regions in which the control currently is
709
- # available for deployment. For more information about scope, see
710
- # [Global services][1].
969
+ # control, if enabled, and the Regions in which the control is available
970
+ # for deployment. For more information about scope, see [Global
971
+ # services][1].
711
972
  #
712
973
  # If you are applying controls through an Amazon Web Services Control
713
974
  # Tower landing zone environment, remember that the values returned in
@@ -55,7 +55,7 @@ module Aws::ControlCatalog
55
55
  autoload :EndpointProvider, 'aws-sdk-controlcatalog/endpoint_provider'
56
56
  autoload :Endpoints, 'aws-sdk-controlcatalog/endpoints'
57
57
 
58
- GEM_VERSION = '1.24.0'
58
+ GEM_VERSION = '1.28.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -18,6 +18,7 @@ module Aws
18
18
  ?account_id: String,
19
19
  ?active_endpoint_cache: bool,
20
20
  ?adaptive_retry_wait_to_fill: bool,
21
+ ?auth_scheme_preference: Array[String],
21
22
  ?client_side_monitoring: bool,
22
23
  ?client_side_monitoring_client_id: String,
23
24
  ?client_side_monitoring_host: String,
@@ -80,6 +81,7 @@ module Aws
80
81
  interface _GetControlResponseSuccess
81
82
  include ::Seahorse::Client::_ResponseSuccess[Types::GetControlResponse]
82
83
  def arn: () -> ::String
84
+ def aliases: () -> ::Array[::String]
83
85
  def name: () -> ::String
84
86
  def description: () -> ::String
85
87
  def behavior: () -> ("PREVENTIVE" | "PROACTIVE" | "DETECTIVE")
@@ -88,6 +90,7 @@ module Aws
88
90
  def implementation: () -> Types::ImplementationDetails
89
91
  def parameters: () -> ::Array[Types::ControlParameter]
90
92
  def create_time: () -> ::Time
93
+ def governed_resources: () -> ::Array[::String]
91
94
  end
92
95
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ControlCatalog/Client.html#get_control-instance_method
93
96
  def get_control: (
@@ -114,6 +117,23 @@ module Aws
114
117
  ) -> _ListCommonControlsResponseSuccess
115
118
  | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListCommonControlsResponseSuccess
116
119
 
120
+ interface _ListControlMappingsResponseSuccess
121
+ include ::Seahorse::Client::_ResponseSuccess[Types::ListControlMappingsResponse]
122
+ def control_mappings: () -> ::Array[Types::ControlMapping]
123
+ def next_token: () -> ::String
124
+ end
125
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ControlCatalog/Client.html#list_control_mappings-instance_method
126
+ def list_control_mappings: (
127
+ ?next_token: ::String,
128
+ ?max_results: ::Integer,
129
+ ?filter: {
130
+ control_arns: Array[::String]?,
131
+ common_control_arns: Array[::String]?,
132
+ mapping_types: Array[("FRAMEWORK" | "COMMON_CONTROL")]?
133
+ }
134
+ ) -> _ListControlMappingsResponseSuccess
135
+ | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListControlMappingsResponseSuccess
136
+
117
137
  interface _ListControlsResponseSuccess
118
138
  include ::Seahorse::Client::_ResponseSuccess[Types::ListControlsResponse]
119
139
  def controls: () -> ::Array[Types::ControlSummary]
@@ -122,7 +142,13 @@ module Aws
122
142
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ControlCatalog/Client.html#list_controls-instance_method
123
143
  def list_controls: (
124
144
  ?next_token: ::String,
125
- ?max_results: ::Integer
145
+ ?max_results: ::Integer,
146
+ ?filter: {
147
+ implementations: {
148
+ types: Array[::String]?,
149
+ identifiers: Array[::String]?
150
+ }?
151
+ }
126
152
  ) -> _ListControlsResponseSuccess
127
153
  | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListControlsResponseSuccess
128
154
 
data/sig/resource.rbs CHANGED
@@ -18,6 +18,7 @@ module Aws
18
18
  ?account_id: String,
19
19
  ?active_endpoint_cache: bool,
20
20
  ?adaptive_retry_wait_to_fill: bool,
21
+ ?auth_scheme_preference: Array[String],
21
22
  ?client_side_monitoring: bool,
22
23
  ?client_side_monitoring_client_id: String,
23
24
  ?client_side_monitoring_host: String,
data/sig/types.rbs CHANGED
@@ -30,6 +30,11 @@ module Aws::ControlCatalog
30
30
  SENSITIVE: []
31
31
  end
32
32
 
33
+ class CommonControlMappingDetails
34
+ attr_accessor common_control_arn: ::String
35
+ SENSITIVE: []
36
+ end
37
+
33
38
  class CommonControlSummary
34
39
  attr_accessor arn: ::String
35
40
  attr_accessor name: ::String
@@ -41,6 +46,25 @@ module Aws::ControlCatalog
41
46
  SENSITIVE: []
42
47
  end
43
48
 
49
+ class ControlFilter
50
+ attr_accessor implementations: Types::ImplementationFilter
51
+ SENSITIVE: []
52
+ end
53
+
54
+ class ControlMapping
55
+ attr_accessor control_arn: ::String
56
+ attr_accessor mapping_type: ("FRAMEWORK" | "COMMON_CONTROL")
57
+ attr_accessor mapping: Types::Mapping
58
+ SENSITIVE: []
59
+ end
60
+
61
+ class ControlMappingFilter
62
+ attr_accessor control_arns: ::Array[::String]
63
+ attr_accessor common_control_arns: ::Array[::String]
64
+ attr_accessor mapping_types: ::Array[("FRAMEWORK" | "COMMON_CONTROL")]
65
+ SENSITIVE: []
66
+ end
67
+
44
68
  class ControlParameter
45
69
  attr_accessor name: ::String
46
70
  SENSITIVE: []
@@ -48,12 +72,14 @@ module Aws::ControlCatalog
48
72
 
49
73
  class ControlSummary
50
74
  attr_accessor arn: ::String
75
+ attr_accessor aliases: ::Array[::String]
51
76
  attr_accessor name: ::String
52
77
  attr_accessor description: ::String
53
78
  attr_accessor behavior: ("PREVENTIVE" | "PROACTIVE" | "DETECTIVE")
54
79
  attr_accessor severity: ("LOW" | "MEDIUM" | "HIGH" | "CRITICAL")
55
80
  attr_accessor implementation: Types::ImplementationSummary
56
81
  attr_accessor create_time: ::Time
82
+ attr_accessor governed_resources: ::Array[::String]
57
83
  SENSITIVE: []
58
84
  end
59
85
 
@@ -71,6 +97,12 @@ module Aws::ControlCatalog
71
97
  SENSITIVE: []
72
98
  end
73
99
 
100
+ class FrameworkMappingDetails
101
+ attr_accessor name: ::String
102
+ attr_accessor item: ::String
103
+ SENSITIVE: []
104
+ end
105
+
74
106
  class GetControlRequest
75
107
  attr_accessor control_arn: ::String
76
108
  SENSITIVE: []
@@ -78,6 +110,7 @@ module Aws::ControlCatalog
78
110
 
79
111
  class GetControlResponse
80
112
  attr_accessor arn: ::String
113
+ attr_accessor aliases: ::Array[::String]
81
114
  attr_accessor name: ::String
82
115
  attr_accessor description: ::String
83
116
  attr_accessor behavior: ("PREVENTIVE" | "PROACTIVE" | "DETECTIVE")
@@ -86,6 +119,7 @@ module Aws::ControlCatalog
86
119
  attr_accessor implementation: Types::ImplementationDetails
87
120
  attr_accessor parameters: ::Array[Types::ControlParameter]
88
121
  attr_accessor create_time: ::Time
122
+ attr_accessor governed_resources: ::Array[::String]
89
123
  SENSITIVE: []
90
124
  end
91
125
 
@@ -95,6 +129,12 @@ module Aws::ControlCatalog
95
129
  SENSITIVE: []
96
130
  end
97
131
 
132
+ class ImplementationFilter
133
+ attr_accessor types: ::Array[::String]
134
+ attr_accessor identifiers: ::Array[::String]
135
+ SENSITIVE: []
136
+ end
137
+
98
138
  class ImplementationSummary
99
139
  attr_accessor type: ::String
100
140
  attr_accessor identifier: ::String
@@ -119,9 +159,23 @@ module Aws::ControlCatalog
119
159
  SENSITIVE: []
120
160
  end
121
161
 
162
+ class ListControlMappingsRequest
163
+ attr_accessor next_token: ::String
164
+ attr_accessor max_results: ::Integer
165
+ attr_accessor filter: Types::ControlMappingFilter
166
+ SENSITIVE: []
167
+ end
168
+
169
+ class ListControlMappingsResponse
170
+ attr_accessor control_mappings: ::Array[Types::ControlMapping]
171
+ attr_accessor next_token: ::String
172
+ SENSITIVE: []
173
+ end
174
+
122
175
  class ListControlsRequest
123
176
  attr_accessor next_token: ::String
124
177
  attr_accessor max_results: ::Integer
178
+ attr_accessor filter: Types::ControlFilter
125
179
  SENSITIVE: []
126
180
  end
127
181
 
@@ -156,6 +210,20 @@ module Aws::ControlCatalog
156
210
  SENSITIVE: []
157
211
  end
158
212
 
213
+ class Mapping
214
+ attr_accessor framework: Types::FrameworkMappingDetails
215
+ attr_accessor common_control: Types::CommonControlMappingDetails
216
+ attr_accessor unknown: untyped
217
+ SENSITIVE: []
218
+
219
+ class Framework < Mapping
220
+ end
221
+ class CommonControl < Mapping
222
+ end
223
+ class Unknown < Mapping
224
+ end
225
+ end
226
+
159
227
  class ObjectiveFilter
160
228
  attr_accessor domains: ::Array[Types::DomainResourceFilter]
161
229
  SENSITIVE: []
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-controlcatalog
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.24.0
4
+ version: 1.28.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
@@ -18,7 +18,7 @@ dependencies:
18
18
  version: '3'
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: 3.216.0
21
+ version: 3.228.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -28,7 +28,7 @@ dependencies:
28
28
  version: '3'
29
29
  - - ">="
30
30
  - !ruby/object:Gem::Version
31
- version: 3.216.0
31
+ version: 3.228.0
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: aws-sigv4
34
34
  requirement: !ruby/object:Gem::Requirement
@@ -84,7 +84,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
84
84
  requirements:
85
85
  - - ">="
86
86
  - !ruby/object:Gem::Version
87
- version: '2.5'
87
+ version: '2.7'
88
88
  required_rubygems_version: !ruby/object:Gem::Requirement
89
89
  requirements:
90
90
  - - ">="