aws-sdk-resourcegroups 1.46.0 → 1.48.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: c4fae4f91642eb96e3d8f738fd47277f3c3496af6bb1aba767aead6d8838555a
4
- data.tar.gz: b92d933784c0bfe9bbda2070796aa6ecc2b9649e0f56385771f9ba30b2d6fb9b
3
+ metadata.gz: ae89a29c79f2189521d4d8c750e8383dcf3395ab68b131aeaa2f53851b12d3ca
4
+ data.tar.gz: 7c3b681c00d123046cc881258c5ecc56676d1c32529ea42983523a3778095a68
5
5
  SHA512:
6
- metadata.gz: a07f57842e8264ec78068ed6b488d621375b479307205dc8a097ec0b234ba2a106b02398a498e6edb6394187166cb66cba01cb09f881476d1d5d9fc199e1c1de
7
- data.tar.gz: 8970f8fdd4f61ab435cc0f704cd83315087967d334cb149c40a71b3c0bd00317df3349dd4677a6f2149cb1a96264decaeef6edb4b39f4d1f9ecc5ada3447f249
6
+ metadata.gz: b78763f2cc1f33645423ef2bc395739ae78d0352de1483d25279908f0cb1867add401d9805f7f4d6e76f3c7ef6bd2a96b203f27aa403f5a1f7fcca10481b1504
7
+ data.tar.gz: db39ead0cf3e2a8baae9758ca0cd87daaa6c845f629649fec384e619d13e97e05e729b3cbb945d379857157dcd49e27d5b4bdbe1eceacd24463d627864c40eb3
data/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.48.0 (2023-01-18)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ * Issue - Replace runtime endpoint resolution approach with generated ruby code.
10
+
11
+ 1.47.0 (2023-01-13)
12
+ ------------------
13
+
14
+ * Feature - AWS Resource Groups customers can now turn on Group Lifecycle Events in their AWS account. When you turn this on, Resource Groups monitors your groups for changes to group state or membership. Those changes are sent to Amazon EventBridge as events that you can respond to using rules you create.
15
+
4
16
  1.46.0 (2022-10-25)
5
17
  ------------------
6
18
 
@@ -245,4 +257,4 @@ Unreleased Changes
245
257
  1.0.0 (2017-11-30)
246
258
  ------------------
247
259
 
248
- * Feature - Initial release of `aws-sdk-resourcegroups`.
260
+ * Feature - Initial release of `aws-sdk-resourcegroups`.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.46.0
1
+ 1.48.0
@@ -369,11 +369,12 @@ module Aws::ResourceGroups
369
369
  # @!group API Operations
370
370
 
371
371
  # Creates a resource group with the specified name and description. You
372
- # can optionally include a resource query, or a service configuration.
373
- # For more information about constructing a resource query, see [Create
374
- # a tag-based group in Resource Groups][1]. For more information about
375
- # service configurations, see [Service configurations for resource
376
- # groups][2].
372
+ # can optionally include either a resource query or a service
373
+ # configuration. For more information about constructing a resource
374
+ # query, see [Build queries and groups in Resource Groups][1] in the
375
+ # *Resource Groups User Guide*. For more information about
376
+ # service-linked groups and service configurations, see [Service
377
+ # configurations for Resource Groups][2].
377
378
  #
378
379
  # **Minimum permissions**
379
380
  #
@@ -385,7 +386,7 @@ module Aws::ResourceGroups
385
386
  #
386
387
  #
387
388
  #
388
- # [1]: https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted-query.html#gettingstarted-query-cli-tag
389
+ # [1]: https://docs.aws.amazon.com/ARG/latest/userguide/getting_started-query.html
389
390
  # [2]: https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html
390
391
  #
391
392
  # @option params [required, String] :name
@@ -394,16 +395,16 @@ module Aws::ResourceGroups
394
395
  # create it. A resource group name can consist of letters, numbers,
395
396
  # hyphens, periods, and underscores. The name cannot start with `AWS` or
396
397
  # `aws`; these are reserved. A resource group name must be unique within
397
- # each AWS Region in your AWS account.
398
+ # each Amazon Web Services Region in your Amazon Web Services account.
398
399
  #
399
400
  # @option params [String] :description
400
401
  # The description of the resource group. Descriptions can consist of
401
402
  # letters, numbers, hyphens, underscores, periods, and spaces.
402
403
  #
403
404
  # @option params [Types::ResourceQuery] :resource_query
404
- # The resource query that determines which AWS resources are members of
405
- # this group. For more information about resource queries, see [Create a
406
- # tag-based group in Resource Groups][1].
405
+ # The resource query that determines which Amazon Web Services resources
406
+ # are members of this group. For more information about resource
407
+ # queries, see [Create a tag-based group in Resource Groups][1].
407
408
  #
408
409
  # <note markdown="1"> A resource group can contain either a `ResourceQuery` or a
409
410
  # `Configuration`, but not both.
@@ -418,11 +419,12 @@ module Aws::ResourceGroups
418
419
  # The tags to add to the group. A tag is key-value pair string.
419
420
  #
420
421
  # @option params [Array<Types::GroupConfigurationItem>] :configuration
421
- # A configuration associates the resource group with an AWS service and
422
- # specifies how the service can interact with the resources in the
423
- # group. A configuration is an array of GroupConfigurationItem elements.
424
- # For details about the syntax of service configurations, see [Service
425
- # configurations for resource groups][1].
422
+ # A configuration associates the resource group with an Amazon Web
423
+ # Services service and specifies how the service can interact with the
424
+ # resources in the group. A configuration is an array of
425
+ # GroupConfigurationItem elements. For details about the syntax of
426
+ # service configurations, see [Service configurations for Resource
427
+ # Groups][1].
426
428
  #
427
429
  # <note markdown="1"> A resource group can contain either a `Configuration` or a
428
430
  # `ResourceQuery`, but not both.
@@ -542,6 +544,27 @@ module Aws::ResourceGroups
542
544
  req.send_request(options)
543
545
  end
544
546
 
547
+ # Retrieves the current status of optional features in Resource Groups.
548
+ #
549
+ # @return [Types::GetAccountSettingsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
550
+ #
551
+ # * {Types::GetAccountSettingsOutput#account_settings #account_settings} => Types::AccountSettings
552
+ #
553
+ # @example Response structure
554
+ #
555
+ # resp.account_settings.group_lifecycle_events_desired_status #=> String, one of "ACTIVE", "INACTIVE"
556
+ # resp.account_settings.group_lifecycle_events_status #=> String, one of "ACTIVE", "INACTIVE", "IN_PROGRESS", "ERROR"
557
+ # resp.account_settings.group_lifecycle_events_status_message #=> String
558
+ #
559
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetAccountSettings AWS API Documentation
560
+ #
561
+ # @overload get_account_settings(params = {})
562
+ # @param [Hash] params ({})
563
+ def get_account_settings(params = {}, options = {})
564
+ req = build_request(:get_account_settings, params)
565
+ req.send_request(options)
566
+ end
567
+
545
568
  # Returns information about a specified resource group.
546
569
  #
547
570
  # **Minimum permissions**
@@ -584,9 +607,9 @@ module Aws::ResourceGroups
584
607
  req.send_request(options)
585
608
  end
586
609
 
587
- # Returns the service configuration associated with the specified
610
+ # Retrieves the service configuration associated with the specified
588
611
  # resource group. For details about the service configuration syntax,
589
- # see [Service configurations for resource groups][1].
612
+ # see [Service configurations for Resource Groups][1].
590
613
  #
591
614
  # **Minimum permissions**
592
615
  #
@@ -601,7 +624,8 @@ module Aws::ResourceGroups
601
624
  # [1]: https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html
602
625
  #
603
626
  # @option params [String] :group
604
- # The name or the ARN of the resource group.
627
+ # The name or the ARN of the resource group for which you want to
628
+ # retrive the service configuration.
605
629
  #
606
630
  # @return [Types::GetGroupConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
607
631
  #
@@ -729,6 +753,16 @@ module Aws::ResourceGroups
729
753
 
730
754
  # Adds the specified resources to the specified group.
731
755
  #
756
+ # You can use this operation with only resource groups that are
757
+ # configured with the following types:
758
+ #
759
+ # * `AWS::EC2::HostManagement`
760
+ #
761
+ # * `AWS::EC2::CapacityReservationPool`
762
+ #
763
+ # Other resource group type and resource types aren't currently
764
+ # supported by this operation.
765
+ #
732
766
  # **Minimum permissions**
733
767
  #
734
768
  # To run this command, you must have the following permissions:
@@ -741,7 +775,7 @@ module Aws::ResourceGroups
741
775
  # The name or the ARN of the resource group to add resources to.
742
776
  #
743
777
  # @option params [required, Array<String>] :resource_arns
744
- # The list of ARNs for resources to be added to the group.
778
+ # The list of ARNs of the resources to be added to the group.
745
779
  #
746
780
  # @return [Types::GroupResourcesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
747
781
  #
@@ -810,12 +844,12 @@ module Aws::ResourceGroups
810
844
  # ^
811
845
  #
812
846
  # When you specify a `resource-type` filter for `ListGroupResources`,
813
- # AWS Resource Groups validates your filter resource types against the
814
- # types that are defined in the query associated with the group. For
815
- # example, if a group contains only S3 buckets because its query
816
- # specifies only that resource type, but your `resource-type` filter
817
- # includes EC2 instances, AWS Resource Groups does not filter for EC2
818
- # instances. In this case, a `ListGroupResources` request returns a
847
+ # Resource Groups validates your filter resource types against the types
848
+ # that are defined in the query associated with the group. For example,
849
+ # if a group contains only S3 buckets because its query specifies only
850
+ # that resource type, but your `resource-type` filter includes EC2
851
+ # instances, AWS Resource Groups does not filter for EC2 instances. In
852
+ # this case, a `ListGroupResources` request returns a
819
853
  # `BadRequestException` error with a message similar to the following:
820
854
  #
821
855
  # `The resource types specified as filters in the request are not
@@ -825,8 +859,8 @@ module Aws::ResourceGroups
825
859
  # because they are not part of the query associated with the group. This
826
860
  # validation doesn't occur when the group query specifies
827
861
  # `AWS::AllSupported`, because a group based on such a query can contain
828
- # any of the allowed resource types for the query type (tag-based or AWS
829
- # CloudFormation stack-based queries).
862
+ # any of the allowed resource types for the query type (tag-based or
863
+ # Amazon CloudFront stack-based queries).
830
864
  #
831
865
  # @option params [Integer] :max_results
832
866
  # The total number of results that you want included on each page of the
@@ -882,7 +916,7 @@ module Aws::ResourceGroups
882
916
  # resp.resource_identifiers[0].resource_type #=> String
883
917
  # resp.next_token #=> String
884
918
  # resp.query_errors #=> Array
885
- # resp.query_errors[0].error_code #=> String, one of "CLOUDFORMATION_STACK_INACTIVE", "CLOUDFORMATION_STACK_NOT_EXISTING"
919
+ # resp.query_errors[0].error_code #=> String, one of "CLOUDFORMATION_STACK_INACTIVE", "CLOUDFORMATION_STACK_NOT_EXISTING", "CLOUDFORMATION_STACK_UNASSUMABLE_ROLE"
886
920
  # resp.query_errors[0].message #=> String
887
921
  #
888
922
  # @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ListGroupResources AWS API Documentation
@@ -894,7 +928,7 @@ module Aws::ResourceGroups
894
928
  req.send_request(options)
895
929
  end
896
930
 
897
- # Returns a list of existing resource groups in your account.
931
+ # Returns a list of existing Resource Groups in your account.
898
932
  #
899
933
  # **Minimum permissions**
900
934
  #
@@ -917,9 +951,9 @@ module Aws::ResourceGroups
917
951
  # groups that have the specified configuration types attached. The
918
952
  # current supported values are:
919
953
  #
920
- # * `AWS:EC2::CapacityReservationPool`
954
+ # * `AWS::EC2::CapacityReservationPool`
921
955
  #
922
- # * `AWS:EC2::HostManagement`
956
+ # * `AWS::EC2::HostManagement`
923
957
  #
924
958
  # @option params [Integer] :max_results
925
959
  # The total number of results that you want included on each page of the
@@ -999,12 +1033,13 @@ module Aws::ResourceGroups
999
1033
  #
1000
1034
  # @option params [Array<Types::GroupConfigurationItem>] :configuration
1001
1035
  # The new configuration to associate with the specified group. A
1002
- # configuration associates the resource group with an AWS service and
1003
- # specifies how the service can interact with the resources in the
1004
- # group. A configuration is an array of GroupConfigurationItem elements.
1036
+ # configuration associates the resource group with an Amazon Web
1037
+ # Services service and specifies how the service can interact with the
1038
+ # resources in the group. A configuration is an array of
1039
+ # GroupConfigurationItem elements.
1005
1040
  #
1006
1041
  # For information about the syntax of a service configuration, see
1007
- # [Service configurations for resource groups][1].
1042
+ # [Service configurations for Resource Groups][1].
1008
1043
  #
1009
1044
  # <note markdown="1"> A resource group can contain either a `Configuration` or a
1010
1045
  # `ResourceQuery`, but not both.
@@ -1043,9 +1078,9 @@ module Aws::ResourceGroups
1043
1078
  req.send_request(options)
1044
1079
  end
1045
1080
 
1046
- # Returns a list of AWS resource identifiers that matches the specified
1047
- # query. The query uses the same format as a resource query in a
1048
- # CreateGroup or UpdateGroupQuery operation.
1081
+ # Returns a list of Amazon Web Services resource identifiers that
1082
+ # matches the specified query. The query uses the same format as a
1083
+ # resource query in a CreateGroup or UpdateGroupQuery operation.
1049
1084
  #
1050
1085
  # **Minimum permissions**
1051
1086
  #
@@ -1108,7 +1143,7 @@ module Aws::ResourceGroups
1108
1143
  # resp.resource_identifiers[0].resource_type #=> String
1109
1144
  # resp.next_token #=> String
1110
1145
  # resp.query_errors #=> Array
1111
- # resp.query_errors[0].error_code #=> String, one of "CLOUDFORMATION_STACK_INACTIVE", "CLOUDFORMATION_STACK_NOT_EXISTING"
1146
+ # resp.query_errors[0].error_code #=> String, one of "CLOUDFORMATION_STACK_INACTIVE", "CLOUDFORMATION_STACK_NOT_EXISTING", "CLOUDFORMATION_STACK_UNASSUMABLE_ROLE"
1112
1147
  # resp.query_errors[0].message #=> String
1113
1148
  #
1114
1149
  # @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/SearchResources AWS API Documentation
@@ -1173,7 +1208,11 @@ module Aws::ResourceGroups
1173
1208
  req.send_request(options)
1174
1209
  end
1175
1210
 
1176
- # Removes the specified resources from the specified group.
1211
+ # Removes the specified resources from the specified group. This
1212
+ # operation works only with static groups that you populated using the
1213
+ # GroupResources operation. It doesn't work with any resource groups
1214
+ # that are automatically populated by tag-based or CloudFormation
1215
+ # stack-based queries.
1177
1216
  #
1178
1217
  # **Minimum permissions**
1179
1218
  #
@@ -1268,6 +1307,46 @@ module Aws::ResourceGroups
1268
1307
  req.send_request(options)
1269
1308
  end
1270
1309
 
1310
+ # Turns on or turns off optional features in Resource Groups.
1311
+ #
1312
+ # The preceding example shows that the request to turn on group
1313
+ # lifecycle events is `IN_PROGRESS`. You can call the GetAccountSettings
1314
+ # operation to check for completion by looking for
1315
+ # `GroupLifecycleEventsStatus` to change to `ACTIVE`.
1316
+ #
1317
+ # @option params [String] :group_lifecycle_events_desired_status
1318
+ # Specifies whether you want to turn [group lifecycle events][1] on or
1319
+ # off.
1320
+ #
1321
+ #
1322
+ #
1323
+ # [1]: https://docs.aws.amazon.com/ARG/latest/userguide/monitor-groups.html
1324
+ #
1325
+ # @return [Types::UpdateAccountSettingsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1326
+ #
1327
+ # * {Types::UpdateAccountSettingsOutput#account_settings #account_settings} => Types::AccountSettings
1328
+ #
1329
+ # @example Request syntax with placeholder values
1330
+ #
1331
+ # resp = client.update_account_settings({
1332
+ # group_lifecycle_events_desired_status: "ACTIVE", # accepts ACTIVE, INACTIVE
1333
+ # })
1334
+ #
1335
+ # @example Response structure
1336
+ #
1337
+ # resp.account_settings.group_lifecycle_events_desired_status #=> String, one of "ACTIVE", "INACTIVE"
1338
+ # resp.account_settings.group_lifecycle_events_status #=> String, one of "ACTIVE", "INACTIVE", "IN_PROGRESS", "ERROR"
1339
+ # resp.account_settings.group_lifecycle_events_status_message #=> String
1340
+ #
1341
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateAccountSettings AWS API Documentation
1342
+ #
1343
+ # @overload update_account_settings(params = {})
1344
+ # @param [Hash] params ({})
1345
+ def update_account_settings(params = {}, options = {})
1346
+ req = build_request(:update_account_settings, params)
1347
+ req.send_request(options)
1348
+ end
1349
+
1271
1350
  # Updates the description for an existing group. You cannot update the
1272
1351
  # name of a resource group.
1273
1352
  #
@@ -1340,8 +1419,8 @@ module Aws::ResourceGroups
1340
1419
  # The name or the ARN of the resource group to query.
1341
1420
  #
1342
1421
  # @option params [required, Types::ResourceQuery] :resource_query
1343
- # The resource query to determine which AWS resources are members of
1344
- # this resource group.
1422
+ # The resource query to determine which Amazon Web Services resources
1423
+ # are members of this resource group.
1345
1424
  #
1346
1425
  # <note markdown="1"> A resource group can contain either a `Configuration` or a
1347
1426
  # `ResourceQuery`, but not both.
@@ -1391,7 +1470,7 @@ module Aws::ResourceGroups
1391
1470
  params: params,
1392
1471
  config: config)
1393
1472
  context[:gem_name] = 'aws-sdk-resourcegroups'
1394
- context[:gem_version] = '1.46.0'
1473
+ context[:gem_version] = '1.48.0'
1395
1474
  Seahorse::Client::Request.new(handlers, context)
1396
1475
  end
1397
1476
 
@@ -13,6 +13,7 @@ module Aws::ResourceGroups
13
13
 
14
14
  include Seahorse::Model
15
15
 
16
+ AccountSettings = Shapes::StructureShape.new(name: 'AccountSettings')
16
17
  BadRequestException = Shapes::StructureShape.new(name: 'BadRequestException')
17
18
  CreateGroupInput = Shapes::StructureShape.new(name: 'CreateGroupInput')
18
19
  CreateGroupOutput = Shapes::StructureShape.new(name: 'CreateGroupOutput')
@@ -24,6 +25,7 @@ module Aws::ResourceGroups
24
25
  FailedResource = Shapes::StructureShape.new(name: 'FailedResource')
25
26
  FailedResourceList = Shapes::ListShape.new(name: 'FailedResourceList')
26
27
  ForbiddenException = Shapes::StructureShape.new(name: 'ForbiddenException')
28
+ GetAccountSettingsOutput = Shapes::StructureShape.new(name: 'GetAccountSettingsOutput')
27
29
  GetGroupConfigurationInput = Shapes::StructureShape.new(name: 'GetGroupConfigurationInput')
28
30
  GetGroupConfigurationOutput = Shapes::StructureShape.new(name: 'GetGroupConfigurationOutput')
29
31
  GetGroupInput = Shapes::StructureShape.new(name: 'GetGroupInput')
@@ -51,6 +53,9 @@ module Aws::ResourceGroups
51
53
  GroupFilterValues = Shapes::ListShape.new(name: 'GroupFilterValues')
52
54
  GroupIdentifier = Shapes::StructureShape.new(name: 'GroupIdentifier')
53
55
  GroupIdentifierList = Shapes::ListShape.new(name: 'GroupIdentifierList')
56
+ GroupLifecycleEventsDesiredStatus = Shapes::StringShape.new(name: 'GroupLifecycleEventsDesiredStatus')
57
+ GroupLifecycleEventsStatus = Shapes::StringShape.new(name: 'GroupLifecycleEventsStatus')
58
+ GroupLifecycleEventsStatusMessage = Shapes::StringShape.new(name: 'GroupLifecycleEventsStatusMessage')
54
59
  GroupList = Shapes::ListShape.new(name: 'GroupList')
55
60
  GroupName = Shapes::StringShape.new(name: 'GroupName')
56
61
  GroupParameterList = Shapes::ListShape.new(name: 'GroupParameterList')
@@ -106,11 +111,18 @@ module Aws::ResourceGroups
106
111
  UngroupResourcesOutput = Shapes::StructureShape.new(name: 'UngroupResourcesOutput')
107
112
  UntagInput = Shapes::StructureShape.new(name: 'UntagInput')
108
113
  UntagOutput = Shapes::StructureShape.new(name: 'UntagOutput')
114
+ UpdateAccountSettingsInput = Shapes::StructureShape.new(name: 'UpdateAccountSettingsInput')
115
+ UpdateAccountSettingsOutput = Shapes::StructureShape.new(name: 'UpdateAccountSettingsOutput')
109
116
  UpdateGroupInput = Shapes::StructureShape.new(name: 'UpdateGroupInput')
110
117
  UpdateGroupOutput = Shapes::StructureShape.new(name: 'UpdateGroupOutput')
111
118
  UpdateGroupQueryInput = Shapes::StructureShape.new(name: 'UpdateGroupQueryInput')
112
119
  UpdateGroupQueryOutput = Shapes::StructureShape.new(name: 'UpdateGroupQueryOutput')
113
120
 
121
+ AccountSettings.add_member(:group_lifecycle_events_desired_status, Shapes::ShapeRef.new(shape: GroupLifecycleEventsDesiredStatus, location_name: "GroupLifecycleEventsDesiredStatus"))
122
+ AccountSettings.add_member(:group_lifecycle_events_status, Shapes::ShapeRef.new(shape: GroupLifecycleEventsStatus, location_name: "GroupLifecycleEventsStatus"))
123
+ AccountSettings.add_member(:group_lifecycle_events_status_message, Shapes::ShapeRef.new(shape: GroupLifecycleEventsStatusMessage, location_name: "GroupLifecycleEventsStatusMessage"))
124
+ AccountSettings.struct_class = Types::AccountSettings
125
+
114
126
  BadRequestException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
115
127
  BadRequestException.struct_class = Types::BadRequestException
116
128
 
@@ -144,6 +156,9 @@ module Aws::ResourceGroups
144
156
  ForbiddenException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
145
157
  ForbiddenException.struct_class = Types::ForbiddenException
146
158
 
159
+ GetAccountSettingsOutput.add_member(:account_settings, Shapes::ShapeRef.new(shape: AccountSettings, location_name: "AccountSettings"))
160
+ GetAccountSettingsOutput.struct_class = Types::GetAccountSettingsOutput
161
+
147
162
  GetGroupConfigurationInput.add_member(:group, Shapes::ShapeRef.new(shape: GroupString, location_name: "Group"))
148
163
  GetGroupConfigurationInput.struct_class = Types::GetGroupConfigurationInput
149
164
 
@@ -349,6 +364,12 @@ module Aws::ResourceGroups
349
364
  UntagOutput.add_member(:keys, Shapes::ShapeRef.new(shape: TagKeyList, location_name: "Keys"))
350
365
  UntagOutput.struct_class = Types::UntagOutput
351
366
 
367
+ UpdateAccountSettingsInput.add_member(:group_lifecycle_events_desired_status, Shapes::ShapeRef.new(shape: GroupLifecycleEventsDesiredStatus, location_name: "GroupLifecycleEventsDesiredStatus"))
368
+ UpdateAccountSettingsInput.struct_class = Types::UpdateAccountSettingsInput
369
+
370
+ UpdateAccountSettingsOutput.add_member(:account_settings, Shapes::ShapeRef.new(shape: AccountSettings, location_name: "AccountSettings"))
371
+ UpdateAccountSettingsOutput.struct_class = Types::UpdateAccountSettingsOutput
372
+
352
373
  UpdateGroupInput.add_member(:group_name, Shapes::ShapeRef.new(shape: GroupName, deprecated: true, location_name: "GroupName", metadata: {"deprecatedMessage"=>"This field is deprecated, use Group instead."}))
353
374
  UpdateGroupInput.add_member(:group, Shapes::ShapeRef.new(shape: GroupString, location_name: "Group"))
354
375
  UpdateGroupInput.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
@@ -410,6 +431,19 @@ module Aws::ResourceGroups
410
431
  o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
411
432
  end)
412
433
 
434
+ api.add_operation(:get_account_settings, Seahorse::Model::Operation.new.tap do |o|
435
+ o.name = "GetAccountSettings"
436
+ o.http_method = "POST"
437
+ o.http_request_uri = "/get-account-settings"
438
+ o.input = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
439
+ o.output = Shapes::ShapeRef.new(shape: GetAccountSettingsOutput)
440
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
441
+ o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
442
+ o.errors << Shapes::ShapeRef.new(shape: MethodNotAllowedException)
443
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
444
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
445
+ end)
446
+
413
447
  api.add_operation(:get_group, Seahorse::Model::Operation.new.tap do |o|
414
448
  o.name = "GetGroup"
415
449
  o.http_method = "POST"
@@ -596,6 +630,19 @@ module Aws::ResourceGroups
596
630
  o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
597
631
  end)
598
632
 
633
+ api.add_operation(:update_account_settings, Seahorse::Model::Operation.new.tap do |o|
634
+ o.name = "UpdateAccountSettings"
635
+ o.http_method = "POST"
636
+ o.http_request_uri = "/update-account-settings"
637
+ o.input = Shapes::ShapeRef.new(shape: UpdateAccountSettingsInput)
638
+ o.output = Shapes::ShapeRef.new(shape: UpdateAccountSettingsOutput)
639
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
640
+ o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
641
+ o.errors << Shapes::ShapeRef.new(shape: MethodNotAllowedException)
642
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
643
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
644
+ end)
645
+
599
646
  api.add_operation(:update_group, Seahorse::Model::Operation.new.tap do |o|
600
647
  o.name = "UpdateGroup"
601
648
  o.http_method = "POST"
@@ -50,6 +50,9 @@ module Aws::ResourceGroups
50
50
 
51
51
  def initialize(options = {})
52
52
  self[:region] = options[:region]
53
+ if self[:region].nil?
54
+ raise ArgumentError, "Missing required EndpointParameter: :region"
55
+ end
53
56
  self[:use_dual_stack] = options[:use_dual_stack]
54
57
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
58
  if self[:use_dual_stack].nil?
@@ -9,110 +9,46 @@
9
9
 
10
10
  module Aws::ResourceGroups
11
11
  class EndpointProvider
12
- def initialize(rule_set = nil)
13
- @@rule_set ||= begin
14
- endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
- Aws::Endpoints::RuleSet.new(
16
- version: endpoint_rules['version'],
17
- service_id: endpoint_rules['serviceId'],
18
- parameters: endpoint_rules['parameters'],
19
- rules: endpoint_rules['rules']
20
- )
12
+ def resolve_endpoint(parameters)
13
+ region = parameters.region
14
+ use_dual_stack = parameters.use_dual_stack
15
+ use_fips = parameters.use_fips
16
+ endpoint = parameters.endpoint
17
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
+ if Aws::Endpoints::Matchers.set?(endpoint)
19
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
21
+ end
22
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
24
+ end
25
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
26
+ end
27
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
29
+ return Aws::Endpoints::Endpoint.new(url: "https://resource-groups-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
30
+ end
31
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
32
+ end
33
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
+ if Aws::Endpoints::Matchers.string_equals?("aws-us-gov", Aws::Endpoints::Matchers.attr(partition_result, "name"))
36
+ return Aws::Endpoints::Endpoint.new(url: "https://resource-groups.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
+ end
38
+ return Aws::Endpoints::Endpoint.new(url: "https://resource-groups-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
39
+ end
40
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
41
+ end
42
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
43
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
44
+ return Aws::Endpoints::Endpoint.new(url: "https://resource-groups.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
45
+ end
46
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
47
+ end
48
+ return Aws::Endpoints::Endpoint.new(url: "https://resource-groups.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
21
49
  end
22
- @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
- end
50
+ raise ArgumentError, 'No endpoint could be resolved'
24
51
 
25
- def resolve_endpoint(parameters)
26
- @provider.resolve_endpoint(parameters)
27
52
  end
28
-
29
- # @api private
30
- RULES = <<-JSON
31
- eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
- bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
- dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
- cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
- dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
- ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
- ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
- ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
- aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
- OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
- UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
- dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
- UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
- dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
- ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
- IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
- aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
- bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
- ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
- Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
- cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
- InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
- aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
- cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
- InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
- W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
- UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
- SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
- eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
- InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
- LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
- ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
- b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
- fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
- RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
- ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
- ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
- ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
- dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
- dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
- Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
- In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
- YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
- YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
- cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
- dCI6eyJ1cmwiOiJodHRwczovL3Jlc291cmNlLWdyb3Vwcy1maXBzLntSZWdp
77
- b259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInBy
78
- b3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9
79
- XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3Rh
80
- Y2sgYXJlIGVuYWJsZWQsIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBz
81
- dXBwb3J0IG9uZSBvciBib3RoIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRp
82
- dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6
83
- IlVzZUZJUFMifSx0cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJj
84
- b25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1
85
- ZSx7ImZuIjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJl
86
- c3VsdCJ9LCJzdXBwb3J0c0ZJUFMiXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVs
87
- ZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpb
88
- eyJjb25kaXRpb25zIjpbeyJmbiI6InN0cmluZ0VxdWFscyIsImFyZ3YiOlsi
89
- YXdzLXVzLWdvdiIseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
90
- YXJ0aXRpb25SZXN1bHQifSwibmFtZSJdfV19XSwiZW5kcG9pbnQiOnsidXJs
91
- IjoiaHR0cHM6Ly9yZXNvdXJjZS1ncm91cHMue1JlZ2lvbn0ue1BhcnRpdGlv
92
- blJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMi
93
- Ont9fSwidHlwZSI6ImVuZHBvaW50In0seyJjb25kaXRpb25zIjpbXSwiZW5k
94
- cG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9yZXNvdXJjZS1ncm91cHMtZmlwcy57
95
- UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0
96
- aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0s
97
- eyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGlzIGVuYWJsZWQgYnV0
98
- IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRklQUyIsInR5cGUi
99
- OiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVh
100
- bHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJ0
101
- eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJv
102
- b2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFy
103
- Z3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1YWxT
104
- dGFjayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9u
105
- cyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vcmVzb3VyY2UtZ3Jv
106
- dXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3Vm
107
- Zml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJl
108
- bmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3Rh
109
- Y2sgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3Vw
110
- cG9ydCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9u
111
- cyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vcmVzb3VyY2UtZ3Jv
112
- dXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4fSIsInBy
113
- b3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9
114
- XX1dfQ==
115
-
116
- JSON
117
53
  end
118
54
  end