aws-sdk-controlcatalog 1.6.0 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ab4b275b423c6209c106dd5ea547b57eb2e794499858ce82888d62770971c2a4
4
- data.tar.gz: acf9ffbced73dd0d1ea07a00f751e95a2a2a637cb17ccf1093ff804fa0b4e470
3
+ metadata.gz: 4adf62891e016d196a915a043344cd01d4d340b826067265f1c74ecbe1e13425
4
+ data.tar.gz: bdc5f61f1bb6dd08c7f0ad0178b4f1ac41e78ecca19661bd8db7e310374b318b
5
5
  SHA512:
6
- metadata.gz: 7aa4ba00fc41a3c4009daba78af85ddf91b1f51a0fb1512b3675e5dd36089e84e087f3b0f094dbefb7e68bd38ec4f804f74c02cf6180edb756439f1f5546aaaa
7
- data.tar.gz: 5ddf730729b817ea13c48f59ba74a8aeead95186187ea2c1ee6d30deee75cb0fe1727d5b4ae5968224592af970fa0fbc526501e67893fa8894000f4c529a16fb
6
+ metadata.gz: 0a3df13f823fac2d935b536172cceb591402012d7027b5cd53b6c96087b2d36e08d999597f258d864f543a7d9fe3f5c934c781e8c59924dbc99b91e8868c5bc9
7
+ data.tar.gz: 4afd3291addf59a48ab7229ac22dfad001f7350f457326f166cbc7448ce2af58cc28641c25ec2b701eec9b168a318b46e3835bdaec84452ead6fb03cbf97dc72
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.7.0 (2024-08-01)
5
+ ------------------
6
+
7
+ * Feature - AWS Control Tower provides two new public APIs controlcatalog:ListControls and controlcatalog:GetControl under controlcatalog service namespace, which enable customers to programmatically retrieve control metadata of available controls.
8
+
4
9
  1.6.0 (2024-07-02)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.6.0
1
+ 1.7.0
@@ -425,6 +425,68 @@ module Aws::ControlCatalog
425
425
 
426
426
  # @!group API Operations
427
427
 
428
+ # Returns details about a specific control, most notably a list of
429
+ # Amazon Web Services Regions where this control is supported. Input a
430
+ # value for the *ControlArn* parameter, in ARN form. `GetControl`
431
+ # accepts *controltower* or *controlcatalog* control ARNs as input.
432
+ # Returns a *controlcatalog* ARN format.
433
+ #
434
+ # In the API response, controls that have the value `GLOBAL` in the
435
+ # `Scope` field do not show the `DeployableRegions` field, because it
436
+ # does not apply. Controls that have the value `REGIONAL` in the `Scope`
437
+ # field return a value for the `DeployableRegions` field, as shown in
438
+ # the example.
439
+ #
440
+ # @option params [required, String] :control_arn
441
+ # The Amazon Resource Name (ARN) of the control. It has one of the
442
+ # following formats:
443
+ #
444
+ # *Global format*
445
+ #
446
+ # `arn:\{PARTITION\}:controlcatalog:::control/\{CONTROL_CATALOG_OPAQUE_ID\}`
447
+ #
448
+ # *Or Regional format*
449
+ #
450
+ # `arn:\{PARTITION\}:controltower:\{REGION\}::control/\{CONTROL_TOWER_OPAQUE_ID\}`
451
+ #
452
+ # Here is a more general pattern that covers Amazon Web Services Control
453
+ # Tower and Control Catalog ARNs:
454
+ #
455
+ # `^arn:(aws(?:[-a-z]*)?):(controlcatalog|controltower):[a-zA-Z0-9-]*::control/[0-9a-zA-Z_\\-]+$`
456
+ #
457
+ # @return [Types::GetControlResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
458
+ #
459
+ # * {Types::GetControlResponse#arn #arn} => String
460
+ # * {Types::GetControlResponse#name #name} => String
461
+ # * {Types::GetControlResponse#description #description} => String
462
+ # * {Types::GetControlResponse#behavior #behavior} => String
463
+ # * {Types::GetControlResponse#region_configuration #region_configuration} => Types::RegionConfiguration
464
+ #
465
+ # @example Request syntax with placeholder values
466
+ #
467
+ # resp = client.get_control({
468
+ # control_arn: "ControlArn", # required
469
+ # })
470
+ #
471
+ # @example Response structure
472
+ #
473
+ # resp.arn #=> String
474
+ # resp.name #=> String
475
+ # resp.description #=> String
476
+ # resp.behavior #=> String, one of "PREVENTIVE", "PROACTIVE", "DETECTIVE"
477
+ # resp.region_configuration.scope #=> String, one of "GLOBAL", "REGIONAL"
478
+ # resp.region_configuration.deployable_regions #=> Array
479
+ # resp.region_configuration.deployable_regions[0] #=> String
480
+ #
481
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/GetControl AWS API Documentation
482
+ #
483
+ # @overload get_control(params = {})
484
+ # @param [Hash] params ({})
485
+ def get_control(params = {}, options = {})
486
+ req = build_request(:get_control, params)
487
+ req.send_request(options)
488
+ end
489
+
428
490
  # Returns a paginated list of common controls from the Amazon Web
429
491
  # Services Control Catalog.
430
492
  #
@@ -432,18 +494,18 @@ module Aws::ControlCatalog
432
494
  # specific objective. If you don’t provide a filter, the operation
433
495
  # returns all common controls.
434
496
  #
435
- # @option params [Types::CommonControlFilter] :common_control_filter
436
- # An optional filter that narrows the results to a specific objective.
437
- #
438
- # This filter allows you to specify one objective ARN at a time. Passing
439
- # multiple ARNs in the `CommonControlFilter` isn’t currently supported.
440
- #
441
497
  # @option params [Integer] :max_results
442
498
  # The maximum number of results on a page or for an API request call.
443
499
  #
444
500
  # @option params [String] :next_token
445
501
  # The pagination token that's used to fetch the next set of results.
446
502
  #
503
+ # @option params [Types::CommonControlFilter] :common_control_filter
504
+ # An optional filter that narrows the results to a specific objective.
505
+ #
506
+ # This filter allows you to specify one objective ARN at a time. Passing
507
+ # multiple ARNs in the `CommonControlFilter` isn’t currently supported.
508
+ #
447
509
  # @return [Types::ListCommonControlsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
448
510
  #
449
511
  # * {Types::ListCommonControlsResponse#common_controls #common_controls} => Array<Types::CommonControlSummary>
@@ -454,6 +516,8 @@ module Aws::ControlCatalog
454
516
  # @example Request syntax with placeholder values
455
517
  #
456
518
  # resp = client.list_common_controls({
519
+ # max_results: 1,
520
+ # next_token: "PaginationToken",
457
521
  # common_control_filter: {
458
522
  # objectives: [
459
523
  # {
@@ -461,22 +525,20 @@ module Aws::ControlCatalog
461
525
  # },
462
526
  # ],
463
527
  # },
464
- # max_results: 1,
465
- # next_token: "PaginationToken",
466
528
  # })
467
529
  #
468
530
  # @example Response structure
469
531
  #
470
532
  # resp.common_controls #=> Array
471
533
  # resp.common_controls[0].arn #=> String
472
- # resp.common_controls[0].create_time #=> Time
534
+ # resp.common_controls[0].name #=> String
473
535
  # resp.common_controls[0].description #=> String
474
536
  # resp.common_controls[0].domain.arn #=> String
475
537
  # resp.common_controls[0].domain.name #=> String
476
- # resp.common_controls[0].last_update_time #=> Time
477
- # resp.common_controls[0].name #=> String
478
538
  # resp.common_controls[0].objective.arn #=> String
479
539
  # resp.common_controls[0].objective.name #=> String
540
+ # resp.common_controls[0].create_time #=> Time
541
+ # resp.common_controls[0].last_update_time #=> Time
480
542
  # resp.next_token #=> String
481
543
  #
482
544
  # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ListCommonControls AWS API Documentation
@@ -488,6 +550,49 @@ module Aws::ControlCatalog
488
550
  req.send_request(options)
489
551
  end
490
552
 
553
+ # Returns a paginated list of all available controls in the Amazon Web
554
+ # Services Control Catalog library. Allows you to discover available
555
+ # controls. The list of controls is given as structures of type
556
+ # *controlSummary*. The ARN is returned in the global *controlcatalog*
557
+ # format, as shown in the examples.
558
+ #
559
+ # @option params [String] :next_token
560
+ # The pagination token that's used to fetch the next set of results.
561
+ #
562
+ # @option params [Integer] :max_results
563
+ # The maximum number of results on a page or for an API request call.
564
+ #
565
+ # @return [Types::ListControlsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
566
+ #
567
+ # * {Types::ListControlsResponse#controls #controls} => Array<Types::ControlSummary>
568
+ # * {Types::ListControlsResponse#next_token #next_token} => String
569
+ #
570
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
571
+ #
572
+ # @example Request syntax with placeholder values
573
+ #
574
+ # resp = client.list_controls({
575
+ # next_token: "PaginationToken",
576
+ # max_results: 1,
577
+ # })
578
+ #
579
+ # @example Response structure
580
+ #
581
+ # resp.controls #=> Array
582
+ # resp.controls[0].arn #=> String
583
+ # resp.controls[0].name #=> String
584
+ # resp.controls[0].description #=> String
585
+ # resp.next_token #=> String
586
+ #
587
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ListControls AWS API Documentation
588
+ #
589
+ # @overload list_controls(params = {})
590
+ # @param [Hash] params ({})
591
+ def list_controls(params = {}, options = {})
592
+ req = build_request(:list_controls, params)
593
+ req.send_request(options)
594
+ end
595
+
491
596
  # Returns a paginated list of domains from the Amazon Web Services
492
597
  # Control Catalog.
493
598
  #
@@ -515,10 +620,10 @@ module Aws::ControlCatalog
515
620
  #
516
621
  # resp.domains #=> Array
517
622
  # resp.domains[0].arn #=> String
518
- # resp.domains[0].create_time #=> Time
623
+ # resp.domains[0].name #=> String
519
624
  # resp.domains[0].description #=> String
625
+ # resp.domains[0].create_time #=> Time
520
626
  # resp.domains[0].last_update_time #=> Time
521
- # resp.domains[0].name #=> String
522
627
  # resp.next_token #=> String
523
628
  #
524
629
  # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ListDomains AWS API Documentation
@@ -551,8 +656,8 @@ module Aws::ControlCatalog
551
656
  #
552
657
  # @return [Types::ListObjectivesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
553
658
  #
554
- # * {Types::ListObjectivesResponse#next_token #next_token} => String
555
659
  # * {Types::ListObjectivesResponse#objectives #objectives} => Array<Types::ObjectiveSummary>
660
+ # * {Types::ListObjectivesResponse#next_token #next_token} => String
556
661
  #
557
662
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
558
663
  #
@@ -572,15 +677,15 @@ module Aws::ControlCatalog
572
677
  #
573
678
  # @example Response structure
574
679
  #
575
- # resp.next_token #=> String
576
680
  # resp.objectives #=> Array
577
681
  # resp.objectives[0].arn #=> String
578
- # resp.objectives[0].create_time #=> Time
682
+ # resp.objectives[0].name #=> String
579
683
  # resp.objectives[0].description #=> String
580
684
  # resp.objectives[0].domain.arn #=> String
581
685
  # resp.objectives[0].domain.name #=> String
686
+ # resp.objectives[0].create_time #=> Time
582
687
  # resp.objectives[0].last_update_time #=> Time
583
- # resp.objectives[0].name #=> String
688
+ # resp.next_token #=> String
584
689
  #
585
690
  # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ListObjectives AWS API Documentation
586
691
  #
@@ -604,7 +709,7 @@ module Aws::ControlCatalog
604
709
  params: params,
605
710
  config: config)
606
711
  context[:gem_name] = 'aws-sdk-controlcatalog'
607
- context[:gem_version] = '1.6.0'
712
+ context[:gem_version] = '1.7.0'
608
713
  Seahorse::Client::Request.new(handlers, context)
609
714
  end
610
715
 
@@ -20,19 +20,30 @@ module Aws::ControlCatalog
20
20
  CommonControlFilter = Shapes::StructureShape.new(name: 'CommonControlFilter')
21
21
  CommonControlSummary = Shapes::StructureShape.new(name: 'CommonControlSummary')
22
22
  CommonControlSummaryList = Shapes::ListShape.new(name: 'CommonControlSummaryList')
23
+ ControlArn = Shapes::StringShape.new(name: 'ControlArn')
24
+ ControlBehavior = Shapes::StringShape.new(name: 'ControlBehavior')
25
+ ControlScope = Shapes::StringShape.new(name: 'ControlScope')
26
+ ControlSummary = Shapes::StructureShape.new(name: 'ControlSummary')
27
+ Controls = Shapes::ListShape.new(name: 'Controls')
28
+ DeployableRegions = Shapes::ListShape.new(name: 'DeployableRegions')
23
29
  DomainArn = Shapes::StringShape.new(name: 'DomainArn')
24
30
  DomainResourceFilter = Shapes::StructureShape.new(name: 'DomainResourceFilter')
25
31
  DomainResourceFilterList = Shapes::ListShape.new(name: 'DomainResourceFilterList')
26
32
  DomainSummary = Shapes::StructureShape.new(name: 'DomainSummary')
27
33
  DomainSummaryList = Shapes::ListShape.new(name: 'DomainSummaryList')
34
+ GetControlRequest = Shapes::StructureShape.new(name: 'GetControlRequest')
35
+ GetControlResponse = Shapes::StructureShape.new(name: 'GetControlResponse')
28
36
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
29
37
  ListCommonControlsRequest = Shapes::StructureShape.new(name: 'ListCommonControlsRequest')
30
38
  ListCommonControlsResponse = Shapes::StructureShape.new(name: 'ListCommonControlsResponse')
39
+ ListControlsRequest = Shapes::StructureShape.new(name: 'ListControlsRequest')
40
+ ListControlsResponse = Shapes::StructureShape.new(name: 'ListControlsResponse')
31
41
  ListDomainsRequest = Shapes::StructureShape.new(name: 'ListDomainsRequest')
32
42
  ListDomainsResponse = Shapes::StructureShape.new(name: 'ListDomainsResponse')
33
43
  ListObjectivesRequest = Shapes::StructureShape.new(name: 'ListObjectivesRequest')
34
44
  ListObjectivesResponse = Shapes::StructureShape.new(name: 'ListObjectivesResponse')
35
45
  MaxListCommonControlsResults = Shapes::IntegerShape.new(name: 'MaxListCommonControlsResults')
46
+ MaxListControlsResults = Shapes::IntegerShape.new(name: 'MaxListControlsResults')
36
47
  MaxListDomainsResults = Shapes::IntegerShape.new(name: 'MaxListDomainsResults')
37
48
  MaxListObjectivesResults = Shapes::IntegerShape.new(name: 'MaxListObjectivesResults')
38
49
  ObjectiveArn = Shapes::StringShape.new(name: 'ObjectiveArn')
@@ -42,6 +53,9 @@ module Aws::ControlCatalog
42
53
  ObjectiveSummary = Shapes::StructureShape.new(name: 'ObjectiveSummary')
43
54
  ObjectiveSummaryList = Shapes::ListShape.new(name: 'ObjectiveSummaryList')
44
55
  PaginationToken = Shapes::StringShape.new(name: 'PaginationToken')
56
+ RegionCode = Shapes::StringShape.new(name: 'RegionCode')
57
+ RegionConfiguration = Shapes::StructureShape.new(name: 'RegionConfiguration')
58
+ ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
45
59
  String = Shapes::StringShape.new(name: 'String')
46
60
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
47
61
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
@@ -62,42 +76,69 @@ module Aws::ControlCatalog
62
76
  CommonControlFilter.struct_class = Types::CommonControlFilter
63
77
 
64
78
  CommonControlSummary.add_member(:arn, Shapes::ShapeRef.new(shape: CommonControlArn, required: true, location_name: "Arn"))
65
- CommonControlSummary.add_member(:create_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "CreateTime"))
79
+ CommonControlSummary.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Name"))
66
80
  CommonControlSummary.add_member(:description, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Description"))
67
81
  CommonControlSummary.add_member(:domain, Shapes::ShapeRef.new(shape: AssociatedDomainSummary, required: true, location_name: "Domain"))
68
- CommonControlSummary.add_member(:last_update_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "LastUpdateTime"))
69
- CommonControlSummary.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Name"))
70
82
  CommonControlSummary.add_member(:objective, Shapes::ShapeRef.new(shape: AssociatedObjectiveSummary, required: true, location_name: "Objective"))
83
+ CommonControlSummary.add_member(:create_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "CreateTime"))
84
+ CommonControlSummary.add_member(:last_update_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "LastUpdateTime"))
71
85
  CommonControlSummary.struct_class = Types::CommonControlSummary
72
86
 
73
87
  CommonControlSummaryList.member = Shapes::ShapeRef.new(shape: CommonControlSummary)
74
88
 
89
+ ControlSummary.add_member(:arn, Shapes::ShapeRef.new(shape: ControlArn, required: true, location_name: "Arn"))
90
+ ControlSummary.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Name"))
91
+ ControlSummary.add_member(:description, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Description"))
92
+ ControlSummary.struct_class = Types::ControlSummary
93
+
94
+ Controls.member = Shapes::ShapeRef.new(shape: ControlSummary)
95
+
96
+ DeployableRegions.member = Shapes::ShapeRef.new(shape: RegionCode)
97
+
75
98
  DomainResourceFilter.add_member(:arn, Shapes::ShapeRef.new(shape: DomainArn, location_name: "Arn"))
76
99
  DomainResourceFilter.struct_class = Types::DomainResourceFilter
77
100
 
78
101
  DomainResourceFilterList.member = Shapes::ShapeRef.new(shape: DomainResourceFilter)
79
102
 
80
103
  DomainSummary.add_member(:arn, Shapes::ShapeRef.new(shape: DomainArn, required: true, location_name: "Arn"))
81
- DomainSummary.add_member(:create_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "CreateTime"))
104
+ DomainSummary.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Name"))
82
105
  DomainSummary.add_member(:description, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Description"))
106
+ DomainSummary.add_member(:create_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "CreateTime"))
83
107
  DomainSummary.add_member(:last_update_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "LastUpdateTime"))
84
- DomainSummary.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Name"))
85
108
  DomainSummary.struct_class = Types::DomainSummary
86
109
 
87
110
  DomainSummaryList.member = Shapes::ShapeRef.new(shape: DomainSummary)
88
111
 
112
+ GetControlRequest.add_member(:control_arn, Shapes::ShapeRef.new(shape: ControlArn, required: true, location_name: "ControlArn"))
113
+ GetControlRequest.struct_class = Types::GetControlRequest
114
+
115
+ GetControlResponse.add_member(:arn, Shapes::ShapeRef.new(shape: ControlArn, required: true, location_name: "Arn"))
116
+ GetControlResponse.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Name"))
117
+ GetControlResponse.add_member(:description, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Description"))
118
+ GetControlResponse.add_member(:behavior, Shapes::ShapeRef.new(shape: ControlBehavior, required: true, location_name: "Behavior"))
119
+ GetControlResponse.add_member(:region_configuration, Shapes::ShapeRef.new(shape: RegionConfiguration, required: true, location_name: "RegionConfiguration"))
120
+ GetControlResponse.struct_class = Types::GetControlResponse
121
+
89
122
  InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
90
123
  InternalServerException.struct_class = Types::InternalServerException
91
124
 
92
- ListCommonControlsRequest.add_member(:common_control_filter, Shapes::ShapeRef.new(shape: CommonControlFilter, location_name: "CommonControlFilter"))
93
125
  ListCommonControlsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxListCommonControlsResults, location: "querystring", location_name: "maxResults"))
94
126
  ListCommonControlsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location: "querystring", location_name: "nextToken"))
127
+ ListCommonControlsRequest.add_member(:common_control_filter, Shapes::ShapeRef.new(shape: CommonControlFilter, location_name: "CommonControlFilter"))
95
128
  ListCommonControlsRequest.struct_class = Types::ListCommonControlsRequest
96
129
 
97
130
  ListCommonControlsResponse.add_member(:common_controls, Shapes::ShapeRef.new(shape: CommonControlSummaryList, required: true, location_name: "CommonControls"))
98
131
  ListCommonControlsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
99
132
  ListCommonControlsResponse.struct_class = Types::ListCommonControlsResponse
100
133
 
134
+ ListControlsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location: "querystring", location_name: "nextToken"))
135
+ ListControlsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxListControlsResults, location: "querystring", location_name: "maxResults"))
136
+ ListControlsRequest.struct_class = Types::ListControlsRequest
137
+
138
+ ListControlsResponse.add_member(:controls, Shapes::ShapeRef.new(shape: Controls, required: true, location_name: "Controls"))
139
+ ListControlsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
140
+ ListControlsResponse.struct_class = Types::ListControlsResponse
141
+
101
142
  ListDomainsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxListDomainsResults, location: "querystring", location_name: "maxResults"))
102
143
  ListDomainsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location: "querystring", location_name: "nextToken"))
103
144
  ListDomainsRequest.struct_class = Types::ListDomainsRequest
@@ -111,8 +152,8 @@ module Aws::ControlCatalog
111
152
  ListObjectivesRequest.add_member(:objective_filter, Shapes::ShapeRef.new(shape: ObjectiveFilter, location_name: "ObjectiveFilter"))
112
153
  ListObjectivesRequest.struct_class = Types::ListObjectivesRequest
113
154
 
114
- ListObjectivesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
115
155
  ListObjectivesResponse.add_member(:objectives, Shapes::ShapeRef.new(shape: ObjectiveSummaryList, required: true, location_name: "Objectives"))
156
+ ListObjectivesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
116
157
  ListObjectivesResponse.struct_class = Types::ListObjectivesResponse
117
158
 
118
159
  ObjectiveFilter.add_member(:domains, Shapes::ShapeRef.new(shape: DomainResourceFilterList, location_name: "Domains"))
@@ -124,15 +165,22 @@ module Aws::ControlCatalog
124
165
  ObjectiveResourceFilterList.member = Shapes::ShapeRef.new(shape: ObjectiveResourceFilter)
125
166
 
126
167
  ObjectiveSummary.add_member(:arn, Shapes::ShapeRef.new(shape: ObjectiveArn, required: true, location_name: "Arn"))
127
- ObjectiveSummary.add_member(:create_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "CreateTime"))
168
+ ObjectiveSummary.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Name"))
128
169
  ObjectiveSummary.add_member(:description, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Description"))
129
170
  ObjectiveSummary.add_member(:domain, Shapes::ShapeRef.new(shape: AssociatedDomainSummary, required: true, location_name: "Domain"))
171
+ ObjectiveSummary.add_member(:create_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "CreateTime"))
130
172
  ObjectiveSummary.add_member(:last_update_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "LastUpdateTime"))
131
- ObjectiveSummary.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Name"))
132
173
  ObjectiveSummary.struct_class = Types::ObjectiveSummary
133
174
 
134
175
  ObjectiveSummaryList.member = Shapes::ShapeRef.new(shape: ObjectiveSummary)
135
176
 
177
+ RegionConfiguration.add_member(:scope, Shapes::ShapeRef.new(shape: ControlScope, required: true, location_name: "Scope"))
178
+ RegionConfiguration.add_member(:deployable_regions, Shapes::ShapeRef.new(shape: DeployableRegions, location_name: "DeployableRegions"))
179
+ RegionConfiguration.struct_class = Types::RegionConfiguration
180
+
181
+ ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
182
+ ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
183
+
136
184
  ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
137
185
  ThrottlingException.struct_class = Types::ThrottlingException
138
186
 
@@ -147,9 +195,10 @@ module Aws::ControlCatalog
147
195
 
148
196
  api.metadata = {
149
197
  "apiVersion" => "2018-05-10",
198
+ "auth" => ["aws.auth#sigv4"],
150
199
  "endpointPrefix" => "controlcatalog",
151
- "jsonVersion" => "1.1",
152
200
  "protocol" => "rest-json",
201
+ "protocols" => ["rest-json"],
153
202
  "serviceFullName" => "AWS Control Catalog",
154
203
  "serviceId" => "ControlCatalog",
155
204
  "signatureVersion" => "v4",
@@ -157,6 +206,19 @@ module Aws::ControlCatalog
157
206
  "uid" => "controlcatalog-2018-05-10",
158
207
  }
159
208
 
209
+ api.add_operation(:get_control, Seahorse::Model::Operation.new.tap do |o|
210
+ o.name = "GetControl"
211
+ o.http_method = "POST"
212
+ o.http_request_uri = "/get-control"
213
+ o.input = Shapes::ShapeRef.new(shape: GetControlRequest)
214
+ o.output = Shapes::ShapeRef.new(shape: GetControlResponse)
215
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
216
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
217
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
218
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
219
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
220
+ end)
221
+
160
222
  api.add_operation(:list_common_controls, Seahorse::Model::Operation.new.tap do |o|
161
223
  o.name = "ListCommonControls"
162
224
  o.http_method = "POST"
@@ -175,6 +237,24 @@ module Aws::ControlCatalog
175
237
  )
176
238
  end)
177
239
 
240
+ api.add_operation(:list_controls, Seahorse::Model::Operation.new.tap do |o|
241
+ o.name = "ListControls"
242
+ o.http_method = "POST"
243
+ o.http_request_uri = "/list-controls"
244
+ o.input = Shapes::ShapeRef.new(shape: ListControlsRequest)
245
+ o.output = Shapes::ShapeRef.new(shape: ListControlsResponse)
246
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
247
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
248
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
249
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
250
+ o[:pager] = Aws::Pager.new(
251
+ limit_key: "max_results",
252
+ tokens: {
253
+ "next_token" => "next_token"
254
+ }
255
+ )
256
+ end)
257
+
178
258
  api.add_operation(:list_domains, Seahorse::Model::Operation.new.tap do |o|
179
259
  o.name = "ListDomains"
180
260
  o.http_method = "POST"
@@ -12,6 +12,20 @@ module Aws::ControlCatalog
12
12
  # @api private
13
13
  module Endpoints
14
14
 
15
+ class GetControl
16
+ def self.build(context)
17
+ unless context.config.regional_endpoint
18
+ endpoint = context.config.endpoint.to_s
19
+ end
20
+ Aws::ControlCatalog::EndpointParameters.new(
21
+ region: context.config.region,
22
+ use_dual_stack: context.config.use_dualstack_endpoint,
23
+ use_fips: context.config.use_fips_endpoint,
24
+ endpoint: endpoint,
25
+ )
26
+ end
27
+ end
28
+
15
29
  class ListCommonControls
16
30
  def self.build(context)
17
31
  unless context.config.regional_endpoint
@@ -26,6 +40,20 @@ module Aws::ControlCatalog
26
40
  end
27
41
  end
28
42
 
43
+ class ListControls
44
+ def self.build(context)
45
+ unless context.config.regional_endpoint
46
+ endpoint = context.config.endpoint.to_s
47
+ end
48
+ Aws::ControlCatalog::EndpointParameters.new(
49
+ region: context.config.region,
50
+ use_dual_stack: context.config.use_dualstack_endpoint,
51
+ use_fips: context.config.use_fips_endpoint,
52
+ endpoint: endpoint,
53
+ )
54
+ end
55
+ end
56
+
29
57
  class ListDomains
30
58
  def self.build(context)
31
59
  unless context.config.regional_endpoint
@@ -29,6 +29,7 @@ module Aws::ControlCatalog
29
29
  # ## Error Classes
30
30
  # * {AccessDeniedException}
31
31
  # * {InternalServerException}
32
+ # * {ResourceNotFoundException}
32
33
  # * {ThrottlingException}
33
34
  # * {ValidationException}
34
35
  #
@@ -72,6 +73,21 @@ module Aws::ControlCatalog
72
73
  end
73
74
  end
74
75
 
76
+ class ResourceNotFoundException < ServiceError
77
+
78
+ # @param [Seahorse::Client::RequestContext] context
79
+ # @param [String] message
80
+ # @param [Aws::ControlCatalog::Types::ResourceNotFoundException] data
81
+ def initialize(context, message, data = Aws::EmptyStructure.new)
82
+ super(context, message, data)
83
+ end
84
+
85
+ # @return [String]
86
+ def message
87
+ @message || @data[:message]
88
+ end
89
+ end
90
+
75
91
  class ThrottlingException < ServiceError
76
92
 
77
93
  # @param [Seahorse::Client::RequestContext] context
@@ -58,8 +58,12 @@ module Aws::ControlCatalog
58
58
 
59
59
  def parameters_for_operation(context)
60
60
  case context.operation_name
61
+ when :get_control
62
+ Aws::ControlCatalog::Endpoints::GetControl.build(context)
61
63
  when :list_common_controls
62
64
  Aws::ControlCatalog::Endpoints::ListCommonControls.build(context)
65
+ when :list_controls
66
+ Aws::ControlCatalog::Endpoints::ListControls.build(context)
63
67
  when :list_domains
64
68
  Aws::ControlCatalog::Endpoints::ListDomains.build(context)
65
69
  when :list_objectives
@@ -86,9 +86,9 @@ module Aws::ControlCatalog
86
86
  # The Amazon Resource Name (ARN) that identifies the common control.
87
87
  # @return [String]
88
88
  #
89
- # @!attribute [rw] create_time
90
- # The time when the common control was created.
91
- # @return [Time]
89
+ # @!attribute [rw] name
90
+ # The name of the common control.
91
+ # @return [String]
92
92
  #
93
93
  # @!attribute [rw] description
94
94
  # The description of the common control.
@@ -98,28 +98,53 @@ module Aws::ControlCatalog
98
98
  # The domain that the common control belongs to.
99
99
  # @return [Types::AssociatedDomainSummary]
100
100
  #
101
- # @!attribute [rw] last_update_time
102
- # The time when the common control was most recently updated.
103
- # @return [Time]
104
- #
105
- # @!attribute [rw] name
106
- # The name of the common control.
107
- # @return [String]
108
- #
109
101
  # @!attribute [rw] objective
110
102
  # The objective that the common control belongs to.
111
103
  # @return [Types::AssociatedObjectiveSummary]
112
104
  #
105
+ # @!attribute [rw] create_time
106
+ # The time when the common control was created.
107
+ # @return [Time]
108
+ #
109
+ # @!attribute [rw] last_update_time
110
+ # The time when the common control was most recently updated.
111
+ # @return [Time]
112
+ #
113
113
  # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/CommonControlSummary AWS API Documentation
114
114
  #
115
115
  class CommonControlSummary < Struct.new(
116
116
  :arn,
117
- :create_time,
117
+ :name,
118
118
  :description,
119
119
  :domain,
120
- :last_update_time,
120
+ :objective,
121
+ :create_time,
122
+ :last_update_time)
123
+ SENSITIVE = []
124
+ include Aws::Structure
125
+ end
126
+
127
+ # Overview of information about a control.
128
+ #
129
+ # @!attribute [rw] arn
130
+ # The Amazon Resource Name (ARN) of the control.
131
+ # @return [String]
132
+ #
133
+ # @!attribute [rw] name
134
+ # The display name of the control.
135
+ # @return [String]
136
+ #
137
+ # @!attribute [rw] description
138
+ # A description of the control, as it may appear in the console.
139
+ # Describes the functionality of the control.
140
+ # @return [String]
141
+ #
142
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ControlSummary AWS API Documentation
143
+ #
144
+ class ControlSummary < Struct.new(
145
+ :arn,
121
146
  :name,
122
- :objective)
147
+ :description)
123
148
  SENSITIVE = []
124
149
  include Aws::Structure
125
150
  end
@@ -144,30 +169,102 @@ module Aws::ControlCatalog
144
169
  # The Amazon Resource Name (ARN) that identifies the domain.
145
170
  # @return [String]
146
171
  #
147
- # @!attribute [rw] create_time
148
- # The time when the domain was created.
149
- # @return [Time]
172
+ # @!attribute [rw] name
173
+ # The name of the domain.
174
+ # @return [String]
150
175
  #
151
176
  # @!attribute [rw] description
152
177
  # The description of the domain.
153
178
  # @return [String]
154
179
  #
180
+ # @!attribute [rw] create_time
181
+ # The time when the domain was created.
182
+ # @return [Time]
183
+ #
155
184
  # @!attribute [rw] last_update_time
156
185
  # The time when the domain was most recently updated.
157
186
  # @return [Time]
158
187
  #
159
- # @!attribute [rw] name
160
- # The name of the domain.
161
- # @return [String]
162
- #
163
188
  # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/DomainSummary AWS API Documentation
164
189
  #
165
190
  class DomainSummary < Struct.new(
166
191
  :arn,
192
+ :name,
193
+ :description,
167
194
  :create_time,
195
+ :last_update_time)
196
+ SENSITIVE = []
197
+ include Aws::Structure
198
+ end
199
+
200
+ # @!attribute [rw] control_arn
201
+ # The Amazon Resource Name (ARN) of the control. It has one of the
202
+ # following formats:
203
+ #
204
+ # *Global format*
205
+ #
206
+ # `arn:\{PARTITION\}:controlcatalog:::control/\{CONTROL_CATALOG_OPAQUE_ID\}`
207
+ #
208
+ # *Or Regional format*
209
+ #
210
+ # `arn:\{PARTITION\}:controltower:\{REGION\}::control/\{CONTROL_TOWER_OPAQUE_ID\}`
211
+ #
212
+ # Here is a more general pattern that covers Amazon Web Services
213
+ # Control Tower and Control Catalog ARNs:
214
+ #
215
+ # `^arn:(aws(?:[-a-z]*)?):(controlcatalog|controltower):[a-zA-Z0-9-]*::control/[0-9a-zA-Z_\\-]+$`
216
+ # @return [String]
217
+ #
218
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/GetControlRequest AWS API Documentation
219
+ #
220
+ class GetControlRequest < Struct.new(
221
+ :control_arn)
222
+ SENSITIVE = []
223
+ include Aws::Structure
224
+ end
225
+
226
+ # @!attribute [rw] arn
227
+ # The Amazon Resource Name (ARN) of the control.
228
+ # @return [String]
229
+ #
230
+ # @!attribute [rw] name
231
+ # The display name of the control.
232
+ # @return [String]
233
+ #
234
+ # @!attribute [rw] description
235
+ # A description of what the control does.
236
+ # @return [String]
237
+ #
238
+ # @!attribute [rw] behavior
239
+ # A term that identifies the control's functional behavior. One of
240
+ # `Preventive`, `Deteictive`, `Proactive`
241
+ # @return [String]
242
+ #
243
+ # @!attribute [rw] region_configuration
244
+ # Returns information about the control, including the scope of the
245
+ # control, if enabled, and the Regions in which the control currently
246
+ # is available for deployment.
247
+ #
248
+ # If you are applying controls through an Amazon Web Services Control
249
+ # Tower landing zone environment, remember that the values returned in
250
+ # the `RegionConfiguration` API operation are not related to the
251
+ # governed Regions in your landing zone. For example, if you are
252
+ # governing Regions `A`,`B`,and `C` while the control is available in
253
+ # Regions `A`, `B`, C`,` and `D`, you'd see a response with
254
+ # `DeployableRegions` of `A`, `B`, `C`, and `D` for a control with
255
+ # `REGIONAL` scope, even though you may not intend to deploy the
256
+ # control in Region `D`, because you do not govern it through your
257
+ # landing zone.
258
+ # @return [Types::RegionConfiguration]
259
+ #
260
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/GetControlResponse AWS API Documentation
261
+ #
262
+ class GetControlResponse < Struct.new(
263
+ :arn,
264
+ :name,
168
265
  :description,
169
- :last_update_time,
170
- :name)
266
+ :behavior,
267
+ :region_configuration)
171
268
  SENSITIVE = []
172
269
  include Aws::Structure
173
270
  end
@@ -186,14 +283,6 @@ module Aws::ControlCatalog
186
283
  include Aws::Structure
187
284
  end
188
285
 
189
- # @!attribute [rw] common_control_filter
190
- # An optional filter that narrows the results to a specific objective.
191
- #
192
- # This filter allows you to specify one objective ARN at a time.
193
- # Passing multiple ARNs in the `CommonControlFilter` isn’t currently
194
- # supported.
195
- # @return [Types::CommonControlFilter]
196
- #
197
286
  # @!attribute [rw] max_results
198
287
  # The maximum number of results on a page or for an API request call.
199
288
  # @return [Integer]
@@ -202,12 +291,20 @@ module Aws::ControlCatalog
202
291
  # The pagination token that's used to fetch the next set of results.
203
292
  # @return [String]
204
293
  #
294
+ # @!attribute [rw] common_control_filter
295
+ # An optional filter that narrows the results to a specific objective.
296
+ #
297
+ # This filter allows you to specify one objective ARN at a time.
298
+ # Passing multiple ARNs in the `CommonControlFilter` isn’t currently
299
+ # supported.
300
+ # @return [Types::CommonControlFilter]
301
+ #
205
302
  # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ListCommonControlsRequest AWS API Documentation
206
303
  #
207
304
  class ListCommonControlsRequest < Struct.new(
208
- :common_control_filter,
209
305
  :max_results,
210
- :next_token)
306
+ :next_token,
307
+ :common_control_filter)
211
308
  SENSITIVE = []
212
309
  include Aws::Structure
213
310
  end
@@ -230,6 +327,41 @@ module Aws::ControlCatalog
230
327
  include Aws::Structure
231
328
  end
232
329
 
330
+ # @!attribute [rw] next_token
331
+ # The pagination token that's used to fetch the next set of results.
332
+ # @return [String]
333
+ #
334
+ # @!attribute [rw] max_results
335
+ # The maximum number of results on a page or for an API request call.
336
+ # @return [Integer]
337
+ #
338
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ListControlsRequest AWS API Documentation
339
+ #
340
+ class ListControlsRequest < Struct.new(
341
+ :next_token,
342
+ :max_results)
343
+ SENSITIVE = []
344
+ include Aws::Structure
345
+ end
346
+
347
+ # @!attribute [rw] controls
348
+ # Returns a list of controls, given as structures of type
349
+ # *controlSummary*.
350
+ # @return [Array<Types::ControlSummary>]
351
+ #
352
+ # @!attribute [rw] next_token
353
+ # The pagination token that's used to fetch the next set of results.
354
+ # @return [String]
355
+ #
356
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ListControlsResponse AWS API Documentation
357
+ #
358
+ class ListControlsResponse < Struct.new(
359
+ :controls,
360
+ :next_token)
361
+ SENSITIVE = []
362
+ include Aws::Structure
363
+ end
364
+
233
365
  # @!attribute [rw] max_results
234
366
  # The maximum number of results on a page or for an API request call.
235
367
  # @return [Integer]
@@ -289,19 +421,19 @@ module Aws::ControlCatalog
289
421
  include Aws::Structure
290
422
  end
291
423
 
292
- # @!attribute [rw] next_token
293
- # The pagination token that's used to fetch the next set of results.
294
- # @return [String]
295
- #
296
424
  # @!attribute [rw] objectives
297
425
  # The list of objectives that the `ListObjectives` API returns.
298
426
  # @return [Array<Types::ObjectiveSummary>]
299
427
  #
428
+ # @!attribute [rw] next_token
429
+ # The pagination token that's used to fetch the next set of results.
430
+ # @return [String]
431
+ #
300
432
  # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ListObjectivesResponse AWS API Documentation
301
433
  #
302
434
  class ListObjectivesResponse < Struct.new(
303
- :next_token,
304
- :objectives)
435
+ :objectives,
436
+ :next_token)
305
437
  SENSITIVE = []
306
438
  include Aws::Structure
307
439
  end
@@ -345,9 +477,9 @@ module Aws::ControlCatalog
345
477
  # The Amazon Resource Name (ARN) that identifies the objective.
346
478
  # @return [String]
347
479
  #
348
- # @!attribute [rw] create_time
349
- # The time when the objective was created.
350
- # @return [Time]
480
+ # @!attribute [rw] name
481
+ # The name of the objective.
482
+ # @return [String]
351
483
  #
352
484
  # @!attribute [rw] description
353
485
  # The description of the objective.
@@ -357,23 +489,76 @@ module Aws::ControlCatalog
357
489
  # The domain that the objective belongs to.
358
490
  # @return [Types::AssociatedDomainSummary]
359
491
  #
492
+ # @!attribute [rw] create_time
493
+ # The time when the objective was created.
494
+ # @return [Time]
495
+ #
360
496
  # @!attribute [rw] last_update_time
361
497
  # The time when the objective was most recently updated.
362
498
  # @return [Time]
363
499
  #
364
- # @!attribute [rw] name
365
- # The name of the objective.
366
- # @return [String]
367
- #
368
500
  # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ObjectiveSummary AWS API Documentation
369
501
  #
370
502
  class ObjectiveSummary < Struct.new(
371
503
  :arn,
372
- :create_time,
504
+ :name,
373
505
  :description,
374
506
  :domain,
375
- :last_update_time,
376
- :name)
507
+ :create_time,
508
+ :last_update_time)
509
+ SENSITIVE = []
510
+ include Aws::Structure
511
+ end
512
+
513
+ # Returns information about the control, including the scope of the
514
+ # control, if enabled, and the Regions in which the control currently is
515
+ # available for deployment.
516
+ #
517
+ # If you are applying controls through an Amazon Web Services Control
518
+ # Tower landing zone environment, remember that the values returned in
519
+ # the `RegionConfiguration` API operation are not related to the
520
+ # governed Regions in your landing zone. For example, if you are
521
+ # governing Regions `A`,`B`,and `C` while the control is available in
522
+ # Regions `A`, `B`, C`,` and `D`, you'd see a response with
523
+ # `DeployableRegions` of `A`, `B`, `C`, and `D` for a control with
524
+ # `REGIONAL` scope, even though you may not intend to deploy the control
525
+ # in Region `D`, because you do not govern it through your landing zone.
526
+ #
527
+ # @!attribute [rw] scope
528
+ # The coverage of the control, if deployed. Scope is an enumerated
529
+ # type, with value `Regional`, or `Global`. A control with Global
530
+ # scope is effective in all Amazon Web Services Regions, regardless of
531
+ # the Region from which it is enabled, or to which it is deployed. A
532
+ # control implemented by an SCP is usually Global in scope. A control
533
+ # with Regional scope has operations that are restricted specifically
534
+ # to the Region from which it is enabled and to which it is deployed.
535
+ # Controls implemented by Config rules and CloudFormation hooks
536
+ # usually are Regional in scope. Security Hub controls usually are
537
+ # Regional in scope.
538
+ # @return [String]
539
+ #
540
+ # @!attribute [rw] deployable_regions
541
+ # Regions in which the control is available to be deployed.
542
+ # @return [Array<String>]
543
+ #
544
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/RegionConfiguration AWS API Documentation
545
+ #
546
+ class RegionConfiguration < Struct.new(
547
+ :scope,
548
+ :deployable_regions)
549
+ SENSITIVE = []
550
+ include Aws::Structure
551
+ end
552
+
553
+ # The requested resource does not exist.
554
+ #
555
+ # @!attribute [rw] message
556
+ # @return [String]
557
+ #
558
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controlcatalog-2018-05-10/ResourceNotFoundException AWS API Documentation
559
+ #
560
+ class ResourceNotFoundException < Struct.new(
561
+ :message)
377
562
  SENSITIVE = []
378
563
  include Aws::Structure
379
564
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'aws-sdk-core/waiters'
11
+
12
+ module Aws::ControlCatalog
13
+ module Waiters
14
+ end
15
+ end
@@ -16,6 +16,7 @@ require_relative 'aws-sdk-controlcatalog/client_api'
16
16
  require_relative 'aws-sdk-controlcatalog/plugins/endpoints.rb'
17
17
  require_relative 'aws-sdk-controlcatalog/client'
18
18
  require_relative 'aws-sdk-controlcatalog/errors'
19
+ require_relative 'aws-sdk-controlcatalog/waiters'
19
20
  require_relative 'aws-sdk-controlcatalog/resource'
20
21
  require_relative 'aws-sdk-controlcatalog/endpoint_parameters'
21
22
  require_relative 'aws-sdk-controlcatalog/endpoint_provider'
@@ -32,7 +33,7 @@ require_relative 'aws-sdk-controlcatalog/customizations'
32
33
  # structure.
33
34
  #
34
35
  # control_catalog = Aws::ControlCatalog::Client.new
35
- # resp = control_catalog.list_common_controls(params)
36
+ # resp = control_catalog.get_control(params)
36
37
  #
37
38
  # See {Client} for more information.
38
39
  #
@@ -52,6 +53,6 @@ require_relative 'aws-sdk-controlcatalog/customizations'
52
53
  # @!group service
53
54
  module Aws::ControlCatalog
54
55
 
55
- GEM_VERSION = '1.6.0'
56
+ GEM_VERSION = '1.7.0'
56
57
 
57
58
  end
data/sig/client.rbs CHANGED
@@ -73,6 +73,20 @@ module Aws
73
73
  | (?Hash[Symbol, untyped]) -> instance
74
74
 
75
75
 
76
+ interface _GetControlResponseSuccess
77
+ include ::Seahorse::Client::_ResponseSuccess[Types::GetControlResponse]
78
+ def arn: () -> ::String
79
+ def name: () -> ::String
80
+ def description: () -> ::String
81
+ def behavior: () -> ("PREVENTIVE" | "PROACTIVE" | "DETECTIVE")
82
+ def region_configuration: () -> Types::RegionConfiguration
83
+ end
84
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ControlCatalog/Client.html#get_control-instance_method
85
+ def get_control: (
86
+ control_arn: ::String
87
+ ) -> _GetControlResponseSuccess
88
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetControlResponseSuccess
89
+
76
90
  interface _ListCommonControlsResponseSuccess
77
91
  include ::Seahorse::Client::_ResponseSuccess[Types::ListCommonControlsResponse]
78
92
  def common_controls: () -> ::Array[Types::CommonControlSummary]
@@ -80,18 +94,30 @@ module Aws
80
94
  end
81
95
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ControlCatalog/Client.html#list_common_controls-instance_method
82
96
  def list_common_controls: (
97
+ ?max_results: ::Integer,
98
+ ?next_token: ::String,
83
99
  ?common_control_filter: {
84
100
  objectives: Array[
85
101
  {
86
102
  arn: ::String?
87
103
  },
88
104
  ]?
89
- },
90
- ?max_results: ::Integer,
91
- ?next_token: ::String
105
+ }
92
106
  ) -> _ListCommonControlsResponseSuccess
93
107
  | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListCommonControlsResponseSuccess
94
108
 
109
+ interface _ListControlsResponseSuccess
110
+ include ::Seahorse::Client::_ResponseSuccess[Types::ListControlsResponse]
111
+ def controls: () -> ::Array[Types::ControlSummary]
112
+ def next_token: () -> ::String
113
+ end
114
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ControlCatalog/Client.html#list_controls-instance_method
115
+ def list_controls: (
116
+ ?next_token: ::String,
117
+ ?max_results: ::Integer
118
+ ) -> _ListControlsResponseSuccess
119
+ | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListControlsResponseSuccess
120
+
95
121
  interface _ListDomainsResponseSuccess
96
122
  include ::Seahorse::Client::_ResponseSuccess[Types::ListDomainsResponse]
97
123
  def domains: () -> ::Array[Types::DomainSummary]
@@ -106,8 +132,8 @@ module Aws
106
132
 
107
133
  interface _ListObjectivesResponseSuccess
108
134
  include ::Seahorse::Client::_ResponseSuccess[Types::ListObjectivesResponse]
109
- def next_token: () -> ::String
110
135
  def objectives: () -> ::Array[Types::ObjectiveSummary]
136
+ def next_token: () -> ::String
111
137
  end
112
138
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ControlCatalog/Client.html#list_objectives-instance_method
113
139
  def list_objectives: (
data/sig/errors.rbs CHANGED
@@ -17,6 +17,9 @@ module Aws
17
17
  class InternalServerException < ::Aws::Errors::ServiceError
18
18
  def message: () -> ::String
19
19
  end
20
+ class ResourceNotFoundException < ::Aws::Errors::ServiceError
21
+ def message: () -> ::String
22
+ end
20
23
  class ThrottlingException < ::Aws::Errors::ServiceError
21
24
  def message: () -> ::String
22
25
  end
data/sig/types.rbs CHANGED
@@ -32,12 +32,19 @@ module Aws::ControlCatalog
32
32
 
33
33
  class CommonControlSummary
34
34
  attr_accessor arn: ::String
35
- attr_accessor create_time: ::Time
35
+ attr_accessor name: ::String
36
36
  attr_accessor description: ::String
37
37
  attr_accessor domain: Types::AssociatedDomainSummary
38
+ attr_accessor objective: Types::AssociatedObjectiveSummary
39
+ attr_accessor create_time: ::Time
38
40
  attr_accessor last_update_time: ::Time
41
+ SENSITIVE: []
42
+ end
43
+
44
+ class ControlSummary
45
+ attr_accessor arn: ::String
39
46
  attr_accessor name: ::String
40
- attr_accessor objective: Types::AssociatedObjectiveSummary
47
+ attr_accessor description: ::String
41
48
  SENSITIVE: []
42
49
  end
43
50
 
@@ -48,10 +55,24 @@ module Aws::ControlCatalog
48
55
 
49
56
  class DomainSummary
50
57
  attr_accessor arn: ::String
51
- attr_accessor create_time: ::Time
58
+ attr_accessor name: ::String
52
59
  attr_accessor description: ::String
60
+ attr_accessor create_time: ::Time
53
61
  attr_accessor last_update_time: ::Time
62
+ SENSITIVE: []
63
+ end
64
+
65
+ class GetControlRequest
66
+ attr_accessor control_arn: ::String
67
+ SENSITIVE: []
68
+ end
69
+
70
+ class GetControlResponse
71
+ attr_accessor arn: ::String
54
72
  attr_accessor name: ::String
73
+ attr_accessor description: ::String
74
+ attr_accessor behavior: ("PREVENTIVE" | "PROACTIVE" | "DETECTIVE")
75
+ attr_accessor region_configuration: Types::RegionConfiguration
55
76
  SENSITIVE: []
56
77
  end
57
78
 
@@ -61,9 +82,9 @@ module Aws::ControlCatalog
61
82
  end
62
83
 
63
84
  class ListCommonControlsRequest
64
- attr_accessor common_control_filter: Types::CommonControlFilter
65
85
  attr_accessor max_results: ::Integer
66
86
  attr_accessor next_token: ::String
87
+ attr_accessor common_control_filter: Types::CommonControlFilter
67
88
  SENSITIVE: []
68
89
  end
69
90
 
@@ -73,6 +94,18 @@ module Aws::ControlCatalog
73
94
  SENSITIVE: []
74
95
  end
75
96
 
97
+ class ListControlsRequest
98
+ attr_accessor next_token: ::String
99
+ attr_accessor max_results: ::Integer
100
+ SENSITIVE: []
101
+ end
102
+
103
+ class ListControlsResponse
104
+ attr_accessor controls: ::Array[Types::ControlSummary]
105
+ attr_accessor next_token: ::String
106
+ SENSITIVE: []
107
+ end
108
+
76
109
  class ListDomainsRequest
77
110
  attr_accessor max_results: ::Integer
78
111
  attr_accessor next_token: ::String
@@ -93,8 +126,8 @@ module Aws::ControlCatalog
93
126
  end
94
127
 
95
128
  class ListObjectivesResponse
96
- attr_accessor next_token: ::String
97
129
  attr_accessor objectives: ::Array[Types::ObjectiveSummary]
130
+ attr_accessor next_token: ::String
98
131
  SENSITIVE: []
99
132
  end
100
133
 
@@ -110,11 +143,22 @@ module Aws::ControlCatalog
110
143
 
111
144
  class ObjectiveSummary
112
145
  attr_accessor arn: ::String
113
- attr_accessor create_time: ::Time
146
+ attr_accessor name: ::String
114
147
  attr_accessor description: ::String
115
148
  attr_accessor domain: Types::AssociatedDomainSummary
149
+ attr_accessor create_time: ::Time
116
150
  attr_accessor last_update_time: ::Time
117
- attr_accessor name: ::String
151
+ SENSITIVE: []
152
+ end
153
+
154
+ class RegionConfiguration
155
+ attr_accessor scope: ("GLOBAL" | "REGIONAL")
156
+ attr_accessor deployable_regions: ::Array[::String]
157
+ SENSITIVE: []
158
+ end
159
+
160
+ class ResourceNotFoundException
161
+ attr_accessor message: ::String
118
162
  SENSITIVE: []
119
163
  end
120
164
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-controlcatalog
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-02 00:00:00.000000000 Z
11
+ date: 2024-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -36,14 +36,14 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '1.1'
39
+ version: '1.5'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '1.1'
46
+ version: '1.5'
47
47
  description: Official AWS Ruby gem for AWS Control Catalog. This gem is part of the
48
48
  AWS SDK for Ruby.
49
49
  email:
@@ -66,6 +66,7 @@ files:
66
66
  - lib/aws-sdk-controlcatalog/plugins/endpoints.rb
67
67
  - lib/aws-sdk-controlcatalog/resource.rb
68
68
  - lib/aws-sdk-controlcatalog/types.rb
69
+ - lib/aws-sdk-controlcatalog/waiters.rb
69
70
  - sig/client.rbs
70
71
  - sig/errors.rbs
71
72
  - sig/resource.rbs