aws-sdk-resourcegroups 1.0.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 57d82525f70670049617a4b018c12b8b1272687b
4
+ data.tar.gz: a9e86d1300f824c05b4f778be73a14cba56c13bd
5
+ SHA512:
6
+ metadata.gz: 83300f1150a08414bc2b8960e19e27110c588421505a0a6a02f53f1b629f15cb7f88693bb05a70c8ac54587d3b0f0922207f960f8c7750758f639b142921627f
7
+ data.tar.gz: 4ce0f9e0e1fd465d0be7ad68b0e2a8bdbea070f7b9a4b9df9f594b39281ec90fd3589a1eab17c81fbbe78d942e234edd88c06a95b282f3f25e95841511130abc
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-resourcegroups/types'
12
+ require_relative 'aws-sdk-resourcegroups/client_api'
13
+ require_relative 'aws-sdk-resourcegroups/client'
14
+ require_relative 'aws-sdk-resourcegroups/errors'
15
+ require_relative 'aws-sdk-resourcegroups/resource'
16
+ require_relative 'aws-sdk-resourcegroups/customizations'
17
+
18
+ # This module provides support for AWS Resource Groups. This module is available in the
19
+ # `aws-sdk-resourcegroups` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from AWS Resource Groups all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::ResourceGroups::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::ResourceGroups
44
+
45
+ GEM_VERSION = '1.0.0'
46
+
47
+ end
@@ -0,0 +1,661 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
22
+ require 'aws-sdk-core/plugins/signature_v4.rb'
23
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
24
+
25
+ Aws::Plugins::GlobalConfiguration.add_identifier(:resourcegroups)
26
+
27
+ module Aws::ResourceGroups
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :resourcegroups
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::JsonvalueConverter)
50
+ add_plugin(Aws::Plugins::SignatureV4)
51
+ add_plugin(Aws::Plugins::Protocols::RestJson)
52
+
53
+ # @option options [required, Aws::CredentialProvider] :credentials
54
+ # Your AWS credentials. This can be an instance of any one of the
55
+ # following classes:
56
+ #
57
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
58
+ # credentials.
59
+ #
60
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
61
+ # from an EC2 IMDS on an EC2 instance.
62
+ #
63
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
64
+ # shared file, such as `~/.aws/config`.
65
+ #
66
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
67
+ #
68
+ # When `:credentials` are not configured directly, the following
69
+ # locations will be searched for credentials:
70
+ #
71
+ # * `Aws.config[:credentials]`
72
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
73
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
74
+ # * `~/.aws/credentials`
75
+ # * `~/.aws/config`
76
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
77
+ # very aggressive. Construct and pass an instance of
78
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
79
+ # timeouts.
80
+ #
81
+ # @option options [required, String] :region
82
+ # The AWS region to connect to. The configured `:region` is
83
+ # used to determine the service `:endpoint`. When not passed,
84
+ # a default `:region` is search for in the following locations:
85
+ #
86
+ # * `Aws.config[:region]`
87
+ # * `ENV['AWS_REGION']`
88
+ # * `ENV['AMAZON_REGION']`
89
+ # * `ENV['AWS_DEFAULT_REGION']`
90
+ # * `~/.aws/credentials`
91
+ # * `~/.aws/config`
92
+ #
93
+ # @option options [String] :access_key_id
94
+ #
95
+ # @option options [Boolean] :convert_params (true)
96
+ # When `true`, an attempt is made to coerce request parameters into
97
+ # the required types.
98
+ #
99
+ # @option options [String] :endpoint
100
+ # The client endpoint is normally constructed from the `:region`
101
+ # option. You should only configure an `:endpoint` when connecting
102
+ # to test endpoints. This should be avalid HTTP(S) URI.
103
+ #
104
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
105
+ # The log formatter.
106
+ #
107
+ # @option options [Symbol] :log_level (:info)
108
+ # The log level to send messages to the `:logger` at.
109
+ #
110
+ # @option options [Logger] :logger
111
+ # The Logger instance to send log messages to. If this option
112
+ # is not set, logging will be disabled.
113
+ #
114
+ # @option options [String] :profile ("default")
115
+ # Used when loading credentials from the shared credentials file
116
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
117
+ #
118
+ # @option options [Integer] :retry_limit (3)
119
+ # The maximum number of times to retry failed requests. Only
120
+ # ~ 500 level server errors and certain ~ 400 level client errors
121
+ # are retried. Generally, these are throttling errors, data
122
+ # checksum errors, networking errors, timeout errors and auth
123
+ # errors from expired credentials.
124
+ #
125
+ # @option options [String] :secret_access_key
126
+ #
127
+ # @option options [String] :session_token
128
+ #
129
+ # @option options [Boolean] :stub_responses (false)
130
+ # Causes the client to return stubbed responses. By default
131
+ # fake responses are generated and returned. You can specify
132
+ # the response data to return or errors to raise by calling
133
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
134
+ #
135
+ # ** Please note ** When response stubbing is enabled, no HTTP
136
+ # requests are made, and retries are disabled.
137
+ #
138
+ # @option options [Boolean] :validate_params (true)
139
+ # When `true`, request parameters are validated before
140
+ # sending the request.
141
+ #
142
+ def initialize(*args)
143
+ super
144
+ end
145
+
146
+ # @!group API Operations
147
+
148
+ # Creates a group with a specified name, description, and resource
149
+ # query.
150
+ #
151
+ # @option params [required, String] :name
152
+ # The name of the group, which is the identifier of the group in other
153
+ # operations. A resource group name cannot be updated after it is
154
+ # created. A resource group name can have a maximum of 127 characters,
155
+ # including letters, numbers, hyphens, dots, and underscores. The name
156
+ # cannot start with `AWS` or `aws`; these are reserved. A resource group
157
+ # name must be unique within your account.
158
+ #
159
+ # @option params [String] :description
160
+ # The description of the resource group. Descriptions can have a maximum
161
+ # of 511 characters, including letters, numbers, hyphens, underscores,
162
+ # punctuation, and spaces.
163
+ #
164
+ # @option params [required, Types::ResourceQuery] :resource_query
165
+ # The resource query that determines which AWS resources are members of
166
+ # this group.
167
+ #
168
+ # @option params [Hash<String,String>] :tags
169
+ # The tags to add to the group. A tag is a string-to-string map of
170
+ # key-value pairs. Tag keys can have a maximum character length of 127
171
+ # characters, and tag values can have a maximum length of 255
172
+ # characters.
173
+ #
174
+ # @return [Types::CreateGroupOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
175
+ #
176
+ # * {Types::CreateGroupOutput#group #group} => Types::Group
177
+ # * {Types::CreateGroupOutput#resource_query #resource_query} => Types::ResourceQuery
178
+ # * {Types::CreateGroupOutput#tags #tags} => Hash&lt;String,String&gt;
179
+ #
180
+ # @example Request syntax with placeholder values
181
+ #
182
+ # resp = client.create_group({
183
+ # name: "GroupName", # required
184
+ # description: "GroupDescription",
185
+ # resource_query: { # required
186
+ # type: "TAG_FILTERS_1_0", # required, accepts TAG_FILTERS_1_0
187
+ # query: "Query", # required
188
+ # },
189
+ # tags: {
190
+ # "TagKey" => "TagValue",
191
+ # },
192
+ # })
193
+ #
194
+ # @example Response structure
195
+ #
196
+ # resp.group.group_arn #=> String
197
+ # resp.group.name #=> String
198
+ # resp.group.description #=> String
199
+ # resp.resource_query.type #=> String, one of "TAG_FILTERS_1_0"
200
+ # resp.resource_query.query #=> String
201
+ # resp.tags #=> Hash
202
+ # resp.tags["TagKey"] #=> String
203
+ #
204
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/CreateGroup AWS API Documentation
205
+ #
206
+ # @overload create_group(params = {})
207
+ # @param [Hash] params ({})
208
+ def create_group(params = {}, options = {})
209
+ req = build_request(:create_group, params)
210
+ req.send_request(options)
211
+ end
212
+
213
+ # Deletes a specified resource group. Deleting a resource group does not
214
+ # delete resources that are members of the group; it only deletes the
215
+ # group structure.
216
+ #
217
+ # @option params [required, String] :group_name
218
+ # The name of the resource group to delete.
219
+ #
220
+ # @return [Types::DeleteGroupOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
221
+ #
222
+ # * {Types::DeleteGroupOutput#group #group} => Types::Group
223
+ #
224
+ # @example Request syntax with placeholder values
225
+ #
226
+ # resp = client.delete_group({
227
+ # group_name: "GroupName", # required
228
+ # })
229
+ #
230
+ # @example Response structure
231
+ #
232
+ # resp.group.group_arn #=> String
233
+ # resp.group.name #=> String
234
+ # resp.group.description #=> String
235
+ #
236
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/DeleteGroup AWS API Documentation
237
+ #
238
+ # @overload delete_group(params = {})
239
+ # @param [Hash] params ({})
240
+ def delete_group(params = {}, options = {})
241
+ req = build_request(:delete_group, params)
242
+ req.send_request(options)
243
+ end
244
+
245
+ # Returns information about a specified resource group.
246
+ #
247
+ # @option params [required, String] :group_name
248
+ # The name of the resource group.
249
+ #
250
+ # @return [Types::GetGroupOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
251
+ #
252
+ # * {Types::GetGroupOutput#group #group} => Types::Group
253
+ #
254
+ # @example Request syntax with placeholder values
255
+ #
256
+ # resp = client.get_group({
257
+ # group_name: "GroupName", # required
258
+ # })
259
+ #
260
+ # @example Response structure
261
+ #
262
+ # resp.group.group_arn #=> String
263
+ # resp.group.name #=> String
264
+ # resp.group.description #=> String
265
+ #
266
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroup AWS API Documentation
267
+ #
268
+ # @overload get_group(params = {})
269
+ # @param [Hash] params ({})
270
+ def get_group(params = {}, options = {})
271
+ req = build_request(:get_group, params)
272
+ req.send_request(options)
273
+ end
274
+
275
+ # Returns the resource query associated with the specified resource
276
+ # group.
277
+ #
278
+ # @option params [required, String] :group_name
279
+ # The name of the resource group.
280
+ #
281
+ # @return [Types::GetGroupQueryOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
282
+ #
283
+ # * {Types::GetGroupQueryOutput#group_query #group_query} => Types::GroupQuery
284
+ #
285
+ # @example Request syntax with placeholder values
286
+ #
287
+ # resp = client.get_group_query({
288
+ # group_name: "GroupName", # required
289
+ # })
290
+ #
291
+ # @example Response structure
292
+ #
293
+ # resp.group_query.group_name #=> String
294
+ # resp.group_query.resource_query.type #=> String, one of "TAG_FILTERS_1_0"
295
+ # resp.group_query.resource_query.query #=> String
296
+ #
297
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroupQuery AWS API Documentation
298
+ #
299
+ # @overload get_group_query(params = {})
300
+ # @param [Hash] params ({})
301
+ def get_group_query(params = {}, options = {})
302
+ req = build_request(:get_group_query, params)
303
+ req.send_request(options)
304
+ end
305
+
306
+ # Returns a list of tags that are associated with a resource, specified
307
+ # by an ARN.
308
+ #
309
+ # @option params [required, String] :arn
310
+ # The ARN of the resource for which you want a list of tags. The
311
+ # resource must exist within the account you are using.
312
+ #
313
+ # @return [Types::GetTagsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
314
+ #
315
+ # * {Types::GetTagsOutput#arn #arn} => String
316
+ # * {Types::GetTagsOutput#tags #tags} => Hash&lt;String,String&gt;
317
+ #
318
+ # @example Request syntax with placeholder values
319
+ #
320
+ # resp = client.get_tags({
321
+ # arn: "GroupArn", # required
322
+ # })
323
+ #
324
+ # @example Response structure
325
+ #
326
+ # resp.arn #=> String
327
+ # resp.tags #=> Hash
328
+ # resp.tags["TagKey"] #=> String
329
+ #
330
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetTags AWS API Documentation
331
+ #
332
+ # @overload get_tags(params = {})
333
+ # @param [Hash] params ({})
334
+ def get_tags(params = {}, options = {})
335
+ req = build_request(:get_tags, params)
336
+ req.send_request(options)
337
+ end
338
+
339
+ # Returns a list of ARNs of resources that are members of a specified
340
+ # resource group.
341
+ #
342
+ # @option params [required, String] :group_name
343
+ # The name of the resource group.
344
+ #
345
+ # @option params [Integer] :max_results
346
+ # The maximum number of group member ARNs that are returned in a single
347
+ # call by ListGroupResources, in paginated output. By default, this
348
+ # number is 50.
349
+ #
350
+ # @option params [String] :next_token
351
+ # The NextToken value that is returned in a paginated ListGroupResources
352
+ # request. To get the next page of results, run the call again, add the
353
+ # NextToken parameter, and specify the NextToken value.
354
+ #
355
+ # @return [Types::ListGroupResourcesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
356
+ #
357
+ # * {Types::ListGroupResourcesOutput#resource_identifiers #resource_identifiers} => Array&lt;Types::ResourceIdentifier&gt;
358
+ # * {Types::ListGroupResourcesOutput#next_token #next_token} => String
359
+ #
360
+ # @example Request syntax with placeholder values
361
+ #
362
+ # resp = client.list_group_resources({
363
+ # group_name: "GroupName", # required
364
+ # max_results: 1,
365
+ # next_token: "NextToken",
366
+ # })
367
+ #
368
+ # @example Response structure
369
+ #
370
+ # resp.resource_identifiers #=> Array
371
+ # resp.resource_identifiers[0].resource_arn #=> String
372
+ # resp.resource_identifiers[0].resource_type #=> String
373
+ # resp.next_token #=> String
374
+ #
375
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ListGroupResources AWS API Documentation
376
+ #
377
+ # @overload list_group_resources(params = {})
378
+ # @param [Hash] params ({})
379
+ def list_group_resources(params = {}, options = {})
380
+ req = build_request(:list_group_resources, params)
381
+ req.send_request(options)
382
+ end
383
+
384
+ # Returns a list of existing resource groups in your account.
385
+ #
386
+ # @option params [Integer] :max_results
387
+ # The maximum number of resource group results that are returned by
388
+ # ListGroups in paginated output. By default, this number is 50.
389
+ #
390
+ # @option params [String] :next_token
391
+ # The NextToken value that is returned in a paginated `ListGroups`
392
+ # request. To get the next page of results, run the call again, add the
393
+ # NextToken parameter, and specify the NextToken value.
394
+ #
395
+ # @return [Types::ListGroupsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
396
+ #
397
+ # * {Types::ListGroupsOutput#groups #groups} => Array&lt;Types::Group&gt;
398
+ # * {Types::ListGroupsOutput#next_token #next_token} => String
399
+ #
400
+ # @example Request syntax with placeholder values
401
+ #
402
+ # resp = client.list_groups({
403
+ # max_results: 1,
404
+ # next_token: "NextToken",
405
+ # })
406
+ #
407
+ # @example Response structure
408
+ #
409
+ # resp.groups #=> Array
410
+ # resp.groups[0].group_arn #=> String
411
+ # resp.groups[0].name #=> String
412
+ # resp.groups[0].description #=> String
413
+ # resp.next_token #=> String
414
+ #
415
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ListGroups AWS API Documentation
416
+ #
417
+ # @overload list_groups(params = {})
418
+ # @param [Hash] params ({})
419
+ def list_groups(params = {}, options = {})
420
+ req = build_request(:list_groups, params)
421
+ req.send_request(options)
422
+ end
423
+
424
+ # Returns a list of AWS resource identifiers that matches a specified
425
+ # query. The query uses the same format as a resource query in a
426
+ # CreateGroup or UpdateGroupQuery operation.
427
+ #
428
+ # @option params [required, Types::ResourceQuery] :resource_query
429
+ # The search query, using the same formats that are supported for
430
+ # resource group definition.
431
+ #
432
+ # @option params [Integer] :max_results
433
+ # The maximum number of group member ARNs returned by `SearchResources`
434
+ # in paginated output. By default, this number is 50.
435
+ #
436
+ # @option params [String] :next_token
437
+ # The NextToken value that is returned in a paginated `SearchResources`
438
+ # request. To get the next page of results, run the call again, add the
439
+ # NextToken parameter, and specify the NextToken value.
440
+ #
441
+ # @return [Types::SearchResourcesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
442
+ #
443
+ # * {Types::SearchResourcesOutput#resource_identifiers #resource_identifiers} => Array&lt;Types::ResourceIdentifier&gt;
444
+ # * {Types::SearchResourcesOutput#next_token #next_token} => String
445
+ #
446
+ # @example Request syntax with placeholder values
447
+ #
448
+ # resp = client.search_resources({
449
+ # resource_query: { # required
450
+ # type: "TAG_FILTERS_1_0", # required, accepts TAG_FILTERS_1_0
451
+ # query: "Query", # required
452
+ # },
453
+ # max_results: 1,
454
+ # next_token: "NextToken",
455
+ # })
456
+ #
457
+ # @example Response structure
458
+ #
459
+ # resp.resource_identifiers #=> Array
460
+ # resp.resource_identifiers[0].resource_arn #=> String
461
+ # resp.resource_identifiers[0].resource_type #=> String
462
+ # resp.next_token #=> String
463
+ #
464
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/SearchResources AWS API Documentation
465
+ #
466
+ # @overload search_resources(params = {})
467
+ # @param [Hash] params ({})
468
+ def search_resources(params = {}, options = {})
469
+ req = build_request(:search_resources, params)
470
+ req.send_request(options)
471
+ end
472
+
473
+ # Adds specified tags to a resource with the specified ARN. Existing
474
+ # tags on a resource are not changed if they are not specified in the
475
+ # request parameters.
476
+ #
477
+ # @option params [required, String] :arn
478
+ # The ARN of the resource to which to add tags.
479
+ #
480
+ # @option params [required, Hash<String,String>] :tags
481
+ # The tags to add to the specified resource. A tag is a string-to-string
482
+ # map of key-value pairs. Tag keys can have a maximum character length
483
+ # of 127 characters, and tag values can have a maximum length of 255
484
+ # characters.
485
+ #
486
+ # @return [Types::TagOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
487
+ #
488
+ # * {Types::TagOutput#arn #arn} => String
489
+ # * {Types::TagOutput#tags #tags} => Hash&lt;String,String&gt;
490
+ #
491
+ # @example Request syntax with placeholder values
492
+ #
493
+ # resp = client.tag({
494
+ # arn: "GroupArn", # required
495
+ # tags: { # required
496
+ # "TagKey" => "TagValue",
497
+ # },
498
+ # })
499
+ #
500
+ # @example Response structure
501
+ #
502
+ # resp.arn #=> String
503
+ # resp.tags #=> Hash
504
+ # resp.tags["TagKey"] #=> String
505
+ #
506
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/Tag AWS API Documentation
507
+ #
508
+ # @overload tag(params = {})
509
+ # @param [Hash] params ({})
510
+ def tag(params = {}, options = {})
511
+ req = build_request(:tag, params)
512
+ req.send_request(options)
513
+ end
514
+
515
+ # Deletes specified tags from a specified resource.
516
+ #
517
+ # @option params [required, String] :arn
518
+ # The ARN of the resource from which to remove tags.
519
+ #
520
+ # @option params [required, Array<String>] :keys
521
+ # The keys of the tags to be removed.
522
+ #
523
+ # @return [Types::UntagOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
524
+ #
525
+ # * {Types::UntagOutput#arn #arn} => String
526
+ # * {Types::UntagOutput#keys #keys} => Array&lt;String&gt;
527
+ #
528
+ # @example Request syntax with placeholder values
529
+ #
530
+ # resp = client.untag({
531
+ # arn: "GroupArn", # required
532
+ # keys: ["TagKey"], # required
533
+ # })
534
+ #
535
+ # @example Response structure
536
+ #
537
+ # resp.arn #=> String
538
+ # resp.keys #=> Array
539
+ # resp.keys[0] #=> String
540
+ #
541
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/Untag AWS API Documentation
542
+ #
543
+ # @overload untag(params = {})
544
+ # @param [Hash] params ({})
545
+ def untag(params = {}, options = {})
546
+ req = build_request(:untag, params)
547
+ req.send_request(options)
548
+ end
549
+
550
+ # Updates an existing group with a new or changed description. You
551
+ # cannot update the name of a resource group.
552
+ #
553
+ # @option params [required, String] :group_name
554
+ # The name of the resource group for which you want to update its
555
+ # description.
556
+ #
557
+ # @option params [String] :description
558
+ # The description of the resource group. Descriptions can have a maximum
559
+ # of 511 characters, including letters, numbers, hyphens, underscores,
560
+ # punctuation, and spaces.
561
+ #
562
+ # @return [Types::UpdateGroupOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
563
+ #
564
+ # * {Types::UpdateGroupOutput#group #group} => Types::Group
565
+ #
566
+ # @example Request syntax with placeholder values
567
+ #
568
+ # resp = client.update_group({
569
+ # group_name: "GroupName", # required
570
+ # description: "GroupDescription",
571
+ # })
572
+ #
573
+ # @example Response structure
574
+ #
575
+ # resp.group.group_arn #=> String
576
+ # resp.group.name #=> String
577
+ # resp.group.description #=> String
578
+ #
579
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateGroup AWS API Documentation
580
+ #
581
+ # @overload update_group(params = {})
582
+ # @param [Hash] params ({})
583
+ def update_group(params = {}, options = {})
584
+ req = build_request(:update_group, params)
585
+ req.send_request(options)
586
+ end
587
+
588
+ # Updates the resource query of a group.
589
+ #
590
+ # @option params [required, String] :group_name
591
+ # The name of the resource group for which you want to edit the query.
592
+ #
593
+ # @option params [required, Types::ResourceQuery] :resource_query
594
+ # The resource query that determines which AWS resources are members of
595
+ # the resource group.
596
+ #
597
+ # @return [Types::UpdateGroupQueryOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
598
+ #
599
+ # * {Types::UpdateGroupQueryOutput#group_query #group_query} => Types::GroupQuery
600
+ #
601
+ # @example Request syntax with placeholder values
602
+ #
603
+ # resp = client.update_group_query({
604
+ # group_name: "GroupName", # required
605
+ # resource_query: { # required
606
+ # type: "TAG_FILTERS_1_0", # required, accepts TAG_FILTERS_1_0
607
+ # query: "Query", # required
608
+ # },
609
+ # })
610
+ #
611
+ # @example Response structure
612
+ #
613
+ # resp.group_query.group_name #=> String
614
+ # resp.group_query.resource_query.type #=> String, one of "TAG_FILTERS_1_0"
615
+ # resp.group_query.resource_query.query #=> String
616
+ #
617
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateGroupQuery AWS API Documentation
618
+ #
619
+ # @overload update_group_query(params = {})
620
+ # @param [Hash] params ({})
621
+ def update_group_query(params = {}, options = {})
622
+ req = build_request(:update_group_query, params)
623
+ req.send_request(options)
624
+ end
625
+
626
+ # @!endgroup
627
+
628
+ # @param params ({})
629
+ # @api private
630
+ def build_request(operation_name, params = {})
631
+ handlers = @handlers.for(operation_name)
632
+ context = Seahorse::Client::RequestContext.new(
633
+ operation_name: operation_name,
634
+ operation: config.api.operation(operation_name),
635
+ client: self,
636
+ params: params,
637
+ config: config)
638
+ context[:gem_name] = 'aws-sdk-resourcegroups'
639
+ context[:gem_version] = '1.0.0'
640
+ Seahorse::Client::Request.new(handlers, context)
641
+ end
642
+
643
+ # @api private
644
+ # @deprecated
645
+ def waiter_names
646
+ []
647
+ end
648
+
649
+ class << self
650
+
651
+ # @api private
652
+ attr_reader :identifier
653
+
654
+ # @api private
655
+ def errors_module
656
+ Errors
657
+ end
658
+
659
+ end
660
+ end
661
+ end