aws-sdk-route53profiles 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,1152 @@
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 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
35
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
36
+
37
+ Aws::Plugins::GlobalConfiguration.add_identifier(:route53profiles)
38
+
39
+ module Aws::Route53Profiles
40
+ # An API client for Route53Profiles. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::Route53Profiles::Client.new(
43
+ # region: region_name,
44
+ # credentials: credentials,
45
+ # # ...
46
+ # )
47
+ #
48
+ # For details on configuring region and credentials see
49
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
50
+ #
51
+ # See {#initialize} for a full list of supported configuration options.
52
+ class Client < Seahorse::Client::Base
53
+
54
+ include Aws::ClientStubs
55
+
56
+ @identifier = :route53profiles
57
+
58
+ set_api(ClientApi::API)
59
+
60
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
61
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
62
+ add_plugin(Aws::Plugins::Logging)
63
+ add_plugin(Aws::Plugins::ParamConverter)
64
+ add_plugin(Aws::Plugins::ParamValidator)
65
+ add_plugin(Aws::Plugins::UserAgent)
66
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
67
+ add_plugin(Aws::Plugins::RetryErrors)
68
+ add_plugin(Aws::Plugins::GlobalConfiguration)
69
+ add_plugin(Aws::Plugins::RegionalEndpoint)
70
+ add_plugin(Aws::Plugins::EndpointDiscovery)
71
+ add_plugin(Aws::Plugins::EndpointPattern)
72
+ add_plugin(Aws::Plugins::ResponsePaging)
73
+ add_plugin(Aws::Plugins::StubResponses)
74
+ add_plugin(Aws::Plugins::IdempotencyToken)
75
+ add_plugin(Aws::Plugins::JsonvalueConverter)
76
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
78
+ add_plugin(Aws::Plugins::TransferEncoding)
79
+ add_plugin(Aws::Plugins::HttpChecksum)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
82
+ add_plugin(Aws::Plugins::DefaultsMode)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
85
+ add_plugin(Aws::Plugins::Protocols::RestJson)
86
+ add_plugin(Aws::Route53Profiles::Plugins::Endpoints)
87
+
88
+ # @overload initialize(options)
89
+ # @param [Hash] options
90
+ # @option options [required, Aws::CredentialProvider] :credentials
91
+ # Your AWS credentials. This can be an instance of any one of the
92
+ # following classes:
93
+ #
94
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
95
+ # credentials.
96
+ #
97
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
98
+ # shared file, such as `~/.aws/config`.
99
+ #
100
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
101
+ #
102
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
103
+ # assume a role after providing credentials via the web.
104
+ #
105
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
106
+ # access token generated from `aws login`.
107
+ #
108
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
109
+ # process that outputs to stdout.
110
+ #
111
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
112
+ # from an EC2 IMDS on an EC2 instance.
113
+ #
114
+ # * `Aws::ECSCredentials` - Used for loading credentials from
115
+ # instances running in ECS.
116
+ #
117
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
118
+ # from the Cognito Identity service.
119
+ #
120
+ # When `:credentials` are not configured directly, the following
121
+ # locations will be searched for credentials:
122
+ #
123
+ # * `Aws.config[:credentials]`
124
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
125
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
126
+ # * `~/.aws/credentials`
127
+ # * `~/.aws/config`
128
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
129
+ # are very aggressive. Construct and pass an instance of
130
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
131
+ # enable retries and extended timeouts. Instance profile credential
132
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
133
+ # to true.
134
+ #
135
+ # @option options [required, String] :region
136
+ # The AWS region to connect to. The configured `:region` is
137
+ # used to determine the service `:endpoint`. When not passed,
138
+ # a default `:region` is searched for in the following locations:
139
+ #
140
+ # * `Aws.config[:region]`
141
+ # * `ENV['AWS_REGION']`
142
+ # * `ENV['AMAZON_REGION']`
143
+ # * `ENV['AWS_DEFAULT_REGION']`
144
+ # * `~/.aws/credentials`
145
+ # * `~/.aws/config`
146
+ #
147
+ # @option options [String] :access_key_id
148
+ #
149
+ # @option options [Boolean] :active_endpoint_cache (false)
150
+ # When set to `true`, a thread polling for endpoints will be running in
151
+ # the background every 60 secs (default). Defaults to `false`.
152
+ #
153
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
154
+ # Used only in `adaptive` retry mode. When true, the request will sleep
155
+ # until there is sufficent client side capacity to retry the request.
156
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
157
+ # not retry instead of sleeping.
158
+ #
159
+ # @option options [Boolean] :client_side_monitoring (false)
160
+ # When `true`, client-side metrics will be collected for all API requests from
161
+ # this client.
162
+ #
163
+ # @option options [String] :client_side_monitoring_client_id ("")
164
+ # Allows you to provide an identifier for this client which will be attached to
165
+ # all generated client side metrics. Defaults to an empty string.
166
+ #
167
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
168
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
169
+ # side monitoring agent is running on, where client metrics will be published via UDP.
170
+ #
171
+ # @option options [Integer] :client_side_monitoring_port (31000)
172
+ # Required for publishing client metrics. The port that the client side monitoring
173
+ # agent is running on, where client metrics will be published via UDP.
174
+ #
175
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
176
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
177
+ # will use the Client Side Monitoring Agent Publisher.
178
+ #
179
+ # @option options [Boolean] :convert_params (true)
180
+ # When `true`, an attempt is made to coerce request parameters into
181
+ # the required types.
182
+ #
183
+ # @option options [Boolean] :correct_clock_skew (true)
184
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
185
+ # a clock skew correction and retry requests with skewed client clocks.
186
+ #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
191
+ # @option options [Boolean] :disable_host_prefix_injection (false)
192
+ # Set to true to disable SDK automatically adding host prefix
193
+ # to default service endpoint when available.
194
+ #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
199
+ # @option options [String] :endpoint
200
+ # The client endpoint is normally constructed from the `:region`
201
+ # option. You should only configure an `:endpoint` when connecting
202
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
203
+ #
204
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
205
+ # Used for the maximum size limit of the LRU cache storing endpoints data
206
+ # for endpoint discovery enabled operations. Defaults to 1000.
207
+ #
208
+ # @option options [Integer] :endpoint_cache_max_threads (10)
209
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
210
+ #
211
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
212
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
213
+ # Use this option to config the time interval in seconds for making
214
+ # requests fetching endpoints information. Defaults to 60 sec.
215
+ #
216
+ # @option options [Boolean] :endpoint_discovery (false)
217
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
218
+ #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
223
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
224
+ # The log formatter.
225
+ #
226
+ # @option options [Symbol] :log_level (:info)
227
+ # The log level to send messages to the `:logger` at.
228
+ #
229
+ # @option options [Logger] :logger
230
+ # The Logger instance to send log messages to. If this option
231
+ # is not set, logging will be disabled.
232
+ #
233
+ # @option options [Integer] :max_attempts (3)
234
+ # An integer representing the maximum number attempts that will be made for
235
+ # a single request, including the initial attempt. For example,
236
+ # setting this value to 5 will result in a request being retried up to
237
+ # 4 times. Used in `standard` and `adaptive` retry modes.
238
+ #
239
+ # @option options [String] :profile ("default")
240
+ # Used when loading credentials from the shared credentials file
241
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
242
+ #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
248
+ # @option options [Proc] :retry_backoff
249
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
250
+ # This option is only used in the `legacy` retry mode.
251
+ #
252
+ # @option options [Float] :retry_base_delay (0.3)
253
+ # The base delay in seconds used by the default backoff function. This option
254
+ # is only used in the `legacy` retry mode.
255
+ #
256
+ # @option options [Symbol] :retry_jitter (:none)
257
+ # A delay randomiser function used by the default backoff function.
258
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
259
+ # otherwise a Proc that takes and returns a number. This option is only used
260
+ # in the `legacy` retry mode.
261
+ #
262
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
263
+ #
264
+ # @option options [Integer] :retry_limit (3)
265
+ # The maximum number of times to retry failed requests. Only
266
+ # ~ 500 level server errors and certain ~ 400 level client errors
267
+ # are retried. Generally, these are throttling errors, data
268
+ # checksum errors, networking errors, timeout errors, auth errors,
269
+ # endpoint discovery, and errors from expired credentials.
270
+ # This option is only used in the `legacy` retry mode.
271
+ #
272
+ # @option options [Integer] :retry_max_delay (0)
273
+ # The maximum number of seconds to delay between retries (0 for no limit)
274
+ # used by the default backoff function. This option is only used in the
275
+ # `legacy` retry mode.
276
+ #
277
+ # @option options [String] :retry_mode ("legacy")
278
+ # Specifies which retry algorithm to use. Values are:
279
+ #
280
+ # * `legacy` - The pre-existing retry behavior. This is default value if
281
+ # no retry mode is provided.
282
+ #
283
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
284
+ # This includes support for retry quotas, which limit the number of
285
+ # unsuccessful retries a client can make.
286
+ #
287
+ # * `adaptive` - An experimental retry mode that includes all the
288
+ # functionality of `standard` mode along with automatic client side
289
+ # throttling. This is a provisional mode that may change behavior
290
+ # in the future.
291
+ #
292
+ #
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
297
+ #
298
+ # @option options [String] :secret_access_key
299
+ #
300
+ # @option options [String] :session_token
301
+ #
302
+ # @option options [Boolean] :stub_responses (false)
303
+ # Causes the client to return stubbed responses. By default
304
+ # fake responses are generated and returned. You can specify
305
+ # the response data to return or errors to raise by calling
306
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
307
+ #
308
+ # ** Please note ** When response stubbing is enabled, no HTTP
309
+ # requests are made, and retries are disabled.
310
+ #
311
+ # @option options [Aws::TokenProvider] :token_provider
312
+ # A Bearer Token Provider. This can be an instance of any one of the
313
+ # following classes:
314
+ #
315
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
316
+ # tokens.
317
+ #
318
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
319
+ # access token generated from `aws login`.
320
+ #
321
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
322
+ # will be used to search for tokens configured for your profile in shared configuration files.
323
+ #
324
+ # @option options [Boolean] :use_dualstack_endpoint
325
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
326
+ # will be used if available.
327
+ #
328
+ # @option options [Boolean] :use_fips_endpoint
329
+ # When set to `true`, fips compatible endpoints will be used if available.
330
+ # When a `fips` region is used, the region is normalized and this config
331
+ # is set to `true`.
332
+ #
333
+ # @option options [Boolean] :validate_params (true)
334
+ # When `true`, request parameters are validated before
335
+ # sending the request.
336
+ #
337
+ # @option options [Aws::Route53Profiles::EndpointProvider] :endpoint_provider
338
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::Route53Profiles::EndpointParameters`
339
+ #
340
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
341
+ # requests through. Formatted like 'http://proxy.com:123'.
342
+ #
343
+ # @option options [Float] :http_open_timeout (15) The number of
344
+ # seconds to wait when opening a HTTP session before raising a
345
+ # `Timeout::Error`.
346
+ #
347
+ # @option options [Float] :http_read_timeout (60) The default
348
+ # number of seconds to wait for response data. This value can
349
+ # safely be set per-request on the session.
350
+ #
351
+ # @option options [Float] :http_idle_timeout (5) The number of
352
+ # seconds a connection is allowed to sit idle before it is
353
+ # considered stale. Stale connections are closed and removed
354
+ # from the pool before making a request.
355
+ #
356
+ # @option options [Float] :http_continue_timeout (1) The number of
357
+ # seconds to wait for a 100-continue response before sending the
358
+ # request body. This option has no effect unless the request has
359
+ # "Expect" header set to "100-continue". Defaults to `nil` which
360
+ # disables this behaviour. This value can safely be set per
361
+ # request on the session.
362
+ #
363
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
+ # in seconds.
365
+ #
366
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
367
+ # HTTP debug output will be sent to the `:logger`.
368
+ #
369
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
370
+ # SSL peer certificates are verified when establishing a
371
+ # connection.
372
+ #
373
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
374
+ # certificate authority bundle file that should be used when
375
+ # verifying peer certificates. If you do not pass
376
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
377
+ # will be used if available.
378
+ #
379
+ # @option options [String] :ssl_ca_directory Full path of the
380
+ # directory that contains the unbundled SSL certificate
381
+ # authority files for verifying peer certificates. If you do
382
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
383
+ # system default will be used if available.
384
+ #
385
+ def initialize(*args)
386
+ super
387
+ end
388
+
389
+ # @!group API Operations
390
+
391
+ # Associates a Route 53 Profiles profile with a VPC. A VPC can have only
392
+ # one Profile associated with it, but a Profile can be associated with
393
+ # up to 5000 VPCs.
394
+ #
395
+ # @option params [required, String] :name
396
+ # A name for the association.
397
+ #
398
+ # @option params [required, String] :profile_id
399
+ # ID of the Profile.
400
+ #
401
+ # @option params [required, String] :resource_id
402
+ # The ID of the VPC.
403
+ #
404
+ # @option params [Array<Types::Tag>] :tags
405
+ # A list of the tag keys and values that you want to identify the
406
+ # Profile association.
407
+ #
408
+ # @return [Types::AssociateProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
409
+ #
410
+ # * {Types::AssociateProfileResponse#profile_association #profile_association} => Types::ProfileAssociation
411
+ #
412
+ # @example Request syntax with placeholder values
413
+ #
414
+ # resp = client.associate_profile({
415
+ # name: "Name", # required
416
+ # profile_id: "ResourceId", # required
417
+ # resource_id: "ResourceId", # required
418
+ # tags: [
419
+ # {
420
+ # key: "TagKey", # required
421
+ # value: "TagValue", # required
422
+ # },
423
+ # ],
424
+ # })
425
+ #
426
+ # @example Response structure
427
+ #
428
+ # resp.profile_association.creation_time #=> Time
429
+ # resp.profile_association.id #=> String
430
+ # resp.profile_association.modification_time #=> Time
431
+ # resp.profile_association.name #=> String
432
+ # resp.profile_association.owner_id #=> String
433
+ # resp.profile_association.profile_id #=> String
434
+ # resp.profile_association.resource_id #=> String
435
+ # resp.profile_association.status #=> String, one of "COMPLETE", "DELETING", "UPDATING", "CREATING", "DELETED", "FAILED"
436
+ # resp.profile_association.status_message #=> String
437
+ #
438
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/AssociateProfile AWS API Documentation
439
+ #
440
+ # @overload associate_profile(params = {})
441
+ # @param [Hash] params ({})
442
+ def associate_profile(params = {}, options = {})
443
+ req = build_request(:associate_profile, params)
444
+ req.send_request(options)
445
+ end
446
+
447
+ # Associates a DNS reource configuration to a Route 53 Profile.
448
+ #
449
+ # @option params [required, String] :name
450
+ # Name for the resource association.
451
+ #
452
+ # @option params [required, String] :profile_id
453
+ # ID of the Profile.
454
+ #
455
+ # @option params [required, String] :resource_arn
456
+ # Amazon resource number, ARN, of the DNS resource.
457
+ #
458
+ # @option params [String] :resource_properties
459
+ # If you are adding a DNS Firewall rule group, include also a priority
460
+ # in this format:
461
+ #
462
+ # `Key=FirewallRuleGroupPriority,Value=100`
463
+ #
464
+ # @return [Types::AssociateResourceToProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
465
+ #
466
+ # * {Types::AssociateResourceToProfileResponse#profile_resource_association #profile_resource_association} => Types::ProfileResourceAssociation
467
+ #
468
+ # @example Request syntax with placeholder values
469
+ #
470
+ # resp = client.associate_resource_to_profile({
471
+ # name: "Name", # required
472
+ # profile_id: "ResourceId", # required
473
+ # resource_arn: "Arn", # required
474
+ # resource_properties: "ResourceProperties",
475
+ # })
476
+ #
477
+ # @example Response structure
478
+ #
479
+ # resp.profile_resource_association.creation_time #=> Time
480
+ # resp.profile_resource_association.id #=> String
481
+ # resp.profile_resource_association.modification_time #=> Time
482
+ # resp.profile_resource_association.name #=> String
483
+ # resp.profile_resource_association.owner_id #=> String
484
+ # resp.profile_resource_association.profile_id #=> String
485
+ # resp.profile_resource_association.resource_arn #=> String
486
+ # resp.profile_resource_association.resource_properties #=> String
487
+ # resp.profile_resource_association.resource_type #=> String
488
+ # resp.profile_resource_association.status #=> String, one of "COMPLETE", "DELETING", "UPDATING", "CREATING", "DELETED", "FAILED"
489
+ # resp.profile_resource_association.status_message #=> String
490
+ #
491
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/AssociateResourceToProfile AWS API Documentation
492
+ #
493
+ # @overload associate_resource_to_profile(params = {})
494
+ # @param [Hash] params ({})
495
+ def associate_resource_to_profile(params = {}, options = {})
496
+ req = build_request(:associate_resource_to_profile, params)
497
+ req.send_request(options)
498
+ end
499
+
500
+ # Creates an empty Route 53 Profile.
501
+ #
502
+ # @option params [required, String] :client_token
503
+ # `ClientToken` is an idempotency token that ensures a call to
504
+ # `CreateProfile` completes only once. You choose the value to pass. For
505
+ # example, an issue might prevent you from getting a response from
506
+ # `CreateProfile`. In this case, safely retry your call to
507
+ # `CreateProfile` by using the same `CreateProfile` parameter value.
508
+ #
509
+ # **A suitable default value is auto-generated.** You should normally
510
+ # not need to pass this option.**
511
+ #
512
+ # @option params [required, String] :name
513
+ # A name for the Profile.
514
+ #
515
+ # @option params [Array<Types::Tag>] :tags
516
+ # A list of the tag keys and values that you want to associate with the
517
+ # Route 53 Profile.
518
+ #
519
+ # @return [Types::CreateProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
520
+ #
521
+ # * {Types::CreateProfileResponse#profile #profile} => Types::Profile
522
+ #
523
+ # @example Request syntax with placeholder values
524
+ #
525
+ # resp = client.create_profile({
526
+ # client_token: "CreatorRequestId", # required
527
+ # name: "Name", # required
528
+ # tags: [
529
+ # {
530
+ # key: "TagKey", # required
531
+ # value: "TagValue", # required
532
+ # },
533
+ # ],
534
+ # })
535
+ #
536
+ # @example Response structure
537
+ #
538
+ # resp.profile.arn #=> String
539
+ # resp.profile.client_token #=> String
540
+ # resp.profile.creation_time #=> Time
541
+ # resp.profile.id #=> String
542
+ # resp.profile.modification_time #=> Time
543
+ # resp.profile.name #=> String
544
+ # resp.profile.owner_id #=> String
545
+ # resp.profile.share_status #=> String, one of "NOT_SHARED", "SHARED_WITH_ME", "SHARED_BY_ME"
546
+ # resp.profile.status #=> String, one of "COMPLETE", "DELETING", "UPDATING", "CREATING", "DELETED", "FAILED"
547
+ # resp.profile.status_message #=> String
548
+ #
549
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/CreateProfile AWS API Documentation
550
+ #
551
+ # @overload create_profile(params = {})
552
+ # @param [Hash] params ({})
553
+ def create_profile(params = {}, options = {})
554
+ req = build_request(:create_profile, params)
555
+ req.send_request(options)
556
+ end
557
+
558
+ # Deletes the specified Route 53 Profile. Before you can delete a
559
+ # profile, you must first disassociate it from all VPCs.
560
+ #
561
+ # @option params [required, String] :profile_id
562
+ # The ID of the Profile that you want to delete.
563
+ #
564
+ # @return [Types::DeleteProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
565
+ #
566
+ # * {Types::DeleteProfileResponse#profile #profile} => Types::Profile
567
+ #
568
+ # @example Request syntax with placeholder values
569
+ #
570
+ # resp = client.delete_profile({
571
+ # profile_id: "ResourceId", # required
572
+ # })
573
+ #
574
+ # @example Response structure
575
+ #
576
+ # resp.profile.arn #=> String
577
+ # resp.profile.client_token #=> String
578
+ # resp.profile.creation_time #=> Time
579
+ # resp.profile.id #=> String
580
+ # resp.profile.modification_time #=> Time
581
+ # resp.profile.name #=> String
582
+ # resp.profile.owner_id #=> String
583
+ # resp.profile.share_status #=> String, one of "NOT_SHARED", "SHARED_WITH_ME", "SHARED_BY_ME"
584
+ # resp.profile.status #=> String, one of "COMPLETE", "DELETING", "UPDATING", "CREATING", "DELETED", "FAILED"
585
+ # resp.profile.status_message #=> String
586
+ #
587
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/DeleteProfile AWS API Documentation
588
+ #
589
+ # @overload delete_profile(params = {})
590
+ # @param [Hash] params ({})
591
+ def delete_profile(params = {}, options = {})
592
+ req = build_request(:delete_profile, params)
593
+ req.send_request(options)
594
+ end
595
+
596
+ # Dissociates a specified Route 53 Profile from the specified VPC.
597
+ #
598
+ # @option params [required, String] :profile_id
599
+ # ID of the Profile.
600
+ #
601
+ # @option params [required, String] :resource_id
602
+ # The ID of the VPC.
603
+ #
604
+ # @return [Types::DisassociateProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
605
+ #
606
+ # * {Types::DisassociateProfileResponse#profile_association #profile_association} => Types::ProfileAssociation
607
+ #
608
+ # @example Request syntax with placeholder values
609
+ #
610
+ # resp = client.disassociate_profile({
611
+ # profile_id: "ResourceId", # required
612
+ # resource_id: "ResourceId", # required
613
+ # })
614
+ #
615
+ # @example Response structure
616
+ #
617
+ # resp.profile_association.creation_time #=> Time
618
+ # resp.profile_association.id #=> String
619
+ # resp.profile_association.modification_time #=> Time
620
+ # resp.profile_association.name #=> String
621
+ # resp.profile_association.owner_id #=> String
622
+ # resp.profile_association.profile_id #=> String
623
+ # resp.profile_association.resource_id #=> String
624
+ # resp.profile_association.status #=> String, one of "COMPLETE", "DELETING", "UPDATING", "CREATING", "DELETED", "FAILED"
625
+ # resp.profile_association.status_message #=> String
626
+ #
627
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/DisassociateProfile AWS API Documentation
628
+ #
629
+ # @overload disassociate_profile(params = {})
630
+ # @param [Hash] params ({})
631
+ def disassociate_profile(params = {}, options = {})
632
+ req = build_request(:disassociate_profile, params)
633
+ req.send_request(options)
634
+ end
635
+
636
+ # Dissoaciated a specified resource, from the Route 53 Profile.
637
+ #
638
+ # @option params [required, String] :profile_id
639
+ # The ID of the Profile.
640
+ #
641
+ # @option params [required, String] :resource_arn
642
+ # The Amazon Resource Name (ARN) of the resource.
643
+ #
644
+ # @return [Types::DisassociateResourceFromProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
645
+ #
646
+ # * {Types::DisassociateResourceFromProfileResponse#profile_resource_association #profile_resource_association} => Types::ProfileResourceAssociation
647
+ #
648
+ # @example Request syntax with placeholder values
649
+ #
650
+ # resp = client.disassociate_resource_from_profile({
651
+ # profile_id: "ResourceId", # required
652
+ # resource_arn: "Arn", # required
653
+ # })
654
+ #
655
+ # @example Response structure
656
+ #
657
+ # resp.profile_resource_association.creation_time #=> Time
658
+ # resp.profile_resource_association.id #=> String
659
+ # resp.profile_resource_association.modification_time #=> Time
660
+ # resp.profile_resource_association.name #=> String
661
+ # resp.profile_resource_association.owner_id #=> String
662
+ # resp.profile_resource_association.profile_id #=> String
663
+ # resp.profile_resource_association.resource_arn #=> String
664
+ # resp.profile_resource_association.resource_properties #=> String
665
+ # resp.profile_resource_association.resource_type #=> String
666
+ # resp.profile_resource_association.status #=> String, one of "COMPLETE", "DELETING", "UPDATING", "CREATING", "DELETED", "FAILED"
667
+ # resp.profile_resource_association.status_message #=> String
668
+ #
669
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/DisassociateResourceFromProfile AWS API Documentation
670
+ #
671
+ # @overload disassociate_resource_from_profile(params = {})
672
+ # @param [Hash] params ({})
673
+ def disassociate_resource_from_profile(params = {}, options = {})
674
+ req = build_request(:disassociate_resource_from_profile, params)
675
+ req.send_request(options)
676
+ end
677
+
678
+ # Returns information about a specified Route 53 Profile, such as
679
+ # whether whether the Profile is shared, and the current status of the
680
+ # Profile.
681
+ #
682
+ # @option params [required, String] :profile_id
683
+ # ID of the Profile.
684
+ #
685
+ # @return [Types::GetProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
686
+ #
687
+ # * {Types::GetProfileResponse#profile #profile} => Types::Profile
688
+ #
689
+ # @example Request syntax with placeholder values
690
+ #
691
+ # resp = client.get_profile({
692
+ # profile_id: "ResourceId", # required
693
+ # })
694
+ #
695
+ # @example Response structure
696
+ #
697
+ # resp.profile.arn #=> String
698
+ # resp.profile.client_token #=> String
699
+ # resp.profile.creation_time #=> Time
700
+ # resp.profile.id #=> String
701
+ # resp.profile.modification_time #=> Time
702
+ # resp.profile.name #=> String
703
+ # resp.profile.owner_id #=> String
704
+ # resp.profile.share_status #=> String, one of "NOT_SHARED", "SHARED_WITH_ME", "SHARED_BY_ME"
705
+ # resp.profile.status #=> String, one of "COMPLETE", "DELETING", "UPDATING", "CREATING", "DELETED", "FAILED"
706
+ # resp.profile.status_message #=> String
707
+ #
708
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/GetProfile AWS API Documentation
709
+ #
710
+ # @overload get_profile(params = {})
711
+ # @param [Hash] params ({})
712
+ def get_profile(params = {}, options = {})
713
+ req = build_request(:get_profile, params)
714
+ req.send_request(options)
715
+ end
716
+
717
+ # Retrieves a Route 53 Profile association for a VPC. A VPC can have
718
+ # only one Profile association, but a Profile can be associated with up
719
+ # to 5000 VPCs.
720
+ #
721
+ # @option params [required, String] :profile_association_id
722
+ # The identifier of the association you want to get information about.
723
+ #
724
+ # @return [Types::GetProfileAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
725
+ #
726
+ # * {Types::GetProfileAssociationResponse#profile_association #profile_association} => Types::ProfileAssociation
727
+ #
728
+ # @example Request syntax with placeholder values
729
+ #
730
+ # resp = client.get_profile_association({
731
+ # profile_association_id: "ResourceId", # required
732
+ # })
733
+ #
734
+ # @example Response structure
735
+ #
736
+ # resp.profile_association.creation_time #=> Time
737
+ # resp.profile_association.id #=> String
738
+ # resp.profile_association.modification_time #=> Time
739
+ # resp.profile_association.name #=> String
740
+ # resp.profile_association.owner_id #=> String
741
+ # resp.profile_association.profile_id #=> String
742
+ # resp.profile_association.resource_id #=> String
743
+ # resp.profile_association.status #=> String, one of "COMPLETE", "DELETING", "UPDATING", "CREATING", "DELETED", "FAILED"
744
+ # resp.profile_association.status_message #=> String
745
+ #
746
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/GetProfileAssociation AWS API Documentation
747
+ #
748
+ # @overload get_profile_association(params = {})
749
+ # @param [Hash] params ({})
750
+ def get_profile_association(params = {}, options = {})
751
+ req = build_request(:get_profile_association, params)
752
+ req.send_request(options)
753
+ end
754
+
755
+ # Returns information about a specified Route 53 Profile resource
756
+ # association.
757
+ #
758
+ # @option params [required, String] :profile_resource_association_id
759
+ # The ID of the profile resource association that you want to get
760
+ # information about.
761
+ #
762
+ # @return [Types::GetProfileResourceAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
763
+ #
764
+ # * {Types::GetProfileResourceAssociationResponse#profile_resource_association #profile_resource_association} => Types::ProfileResourceAssociation
765
+ #
766
+ # @example Request syntax with placeholder values
767
+ #
768
+ # resp = client.get_profile_resource_association({
769
+ # profile_resource_association_id: "ResourceId", # required
770
+ # })
771
+ #
772
+ # @example Response structure
773
+ #
774
+ # resp.profile_resource_association.creation_time #=> Time
775
+ # resp.profile_resource_association.id #=> String
776
+ # resp.profile_resource_association.modification_time #=> Time
777
+ # resp.profile_resource_association.name #=> String
778
+ # resp.profile_resource_association.owner_id #=> String
779
+ # resp.profile_resource_association.profile_id #=> String
780
+ # resp.profile_resource_association.resource_arn #=> String
781
+ # resp.profile_resource_association.resource_properties #=> String
782
+ # resp.profile_resource_association.resource_type #=> String
783
+ # resp.profile_resource_association.status #=> String, one of "COMPLETE", "DELETING", "UPDATING", "CREATING", "DELETED", "FAILED"
784
+ # resp.profile_resource_association.status_message #=> String
785
+ #
786
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/GetProfileResourceAssociation AWS API Documentation
787
+ #
788
+ # @overload get_profile_resource_association(params = {})
789
+ # @param [Hash] params ({})
790
+ def get_profile_resource_association(params = {}, options = {})
791
+ req = build_request(:get_profile_resource_association, params)
792
+ req.send_request(options)
793
+ end
794
+
795
+ # Lists all the VPCs that the specified Route 53 Profile is associated
796
+ # with.
797
+ #
798
+ # @option params [Integer] :max_results
799
+ # The maximum number of objects that you want to return for this
800
+ # request. If more objects are available, in the response, a `NextToken`
801
+ # value, which you can use in a subsequent call to get the next batch of
802
+ # objects, is provided.
803
+ #
804
+ # If you don't specify a value for `MaxResults`, up to 100 objects are
805
+ # returned.
806
+ #
807
+ # @option params [String] :next_token
808
+ # For the first call to this list request, omit this value.
809
+ #
810
+ # When you request a list of objects, at most the number of objects
811
+ # specified by `MaxResults` is returned. If more objects are available
812
+ # for retrieval, a `NextToken` value is returned in the response. To
813
+ # retrieve the next batch of objects, use the token that was returned
814
+ # for the prior request in your next request.
815
+ #
816
+ # @option params [String] :profile_id
817
+ # ID of the Profile.
818
+ #
819
+ # @option params [String] :resource_id
820
+ # ID of the VPC.
821
+ #
822
+ # @return [Types::ListProfileAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
823
+ #
824
+ # * {Types::ListProfileAssociationsResponse#next_token #next_token} => String
825
+ # * {Types::ListProfileAssociationsResponse#profile_associations #profile_associations} => Array&lt;Types::ProfileAssociation&gt;
826
+ #
827
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
828
+ #
829
+ # @example Request syntax with placeholder values
830
+ #
831
+ # resp = client.list_profile_associations({
832
+ # max_results: 1,
833
+ # next_token: "NextToken",
834
+ # profile_id: "ResourceId",
835
+ # resource_id: "ResourceId",
836
+ # })
837
+ #
838
+ # @example Response structure
839
+ #
840
+ # resp.next_token #=> String
841
+ # resp.profile_associations #=> Array
842
+ # resp.profile_associations[0].creation_time #=> Time
843
+ # resp.profile_associations[0].id #=> String
844
+ # resp.profile_associations[0].modification_time #=> Time
845
+ # resp.profile_associations[0].name #=> String
846
+ # resp.profile_associations[0].owner_id #=> String
847
+ # resp.profile_associations[0].profile_id #=> String
848
+ # resp.profile_associations[0].resource_id #=> String
849
+ # resp.profile_associations[0].status #=> String, one of "COMPLETE", "DELETING", "UPDATING", "CREATING", "DELETED", "FAILED"
850
+ # resp.profile_associations[0].status_message #=> String
851
+ #
852
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/ListProfileAssociations AWS API Documentation
853
+ #
854
+ # @overload list_profile_associations(params = {})
855
+ # @param [Hash] params ({})
856
+ def list_profile_associations(params = {}, options = {})
857
+ req = build_request(:list_profile_associations, params)
858
+ req.send_request(options)
859
+ end
860
+
861
+ # Lists all the resource associations for the specified Route 53
862
+ # Profile.
863
+ #
864
+ # @option params [Integer] :max_results
865
+ # The maximum number of objects that you want to return for this
866
+ # request. If more objects are available, in the response, a `NextToken`
867
+ # value, which you can use in a subsequent call to get the next batch of
868
+ # objects, is provided.
869
+ #
870
+ # If you don't specify a value for `MaxResults`, up to 100 objects are
871
+ # returned.
872
+ #
873
+ # @option params [String] :next_token
874
+ # For the first call to this list request, omit this value.
875
+ #
876
+ # When you request a list of objects, at most the number of objects
877
+ # specified by `MaxResults` is returned. If more objects are available
878
+ # for retrieval, a `NextToken` value is returned in the response. To
879
+ # retrieve the next batch of objects, use the token that was returned
880
+ # for the prior request in your next request.
881
+ #
882
+ # @option params [required, String] :profile_id
883
+ # The ID of the Profile.
884
+ #
885
+ # @option params [String] :resource_type
886
+ # ID of a resource if you want information on only one type.
887
+ #
888
+ # @return [Types::ListProfileResourceAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
889
+ #
890
+ # * {Types::ListProfileResourceAssociationsResponse#next_token #next_token} => String
891
+ # * {Types::ListProfileResourceAssociationsResponse#profile_resource_associations #profile_resource_associations} => Array&lt;Types::ProfileResourceAssociation&gt;
892
+ #
893
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
894
+ #
895
+ # @example Request syntax with placeholder values
896
+ #
897
+ # resp = client.list_profile_resource_associations({
898
+ # max_results: 1,
899
+ # next_token: "NextToken",
900
+ # profile_id: "ResourceId", # required
901
+ # resource_type: "String",
902
+ # })
903
+ #
904
+ # @example Response structure
905
+ #
906
+ # resp.next_token #=> String
907
+ # resp.profile_resource_associations #=> Array
908
+ # resp.profile_resource_associations[0].creation_time #=> Time
909
+ # resp.profile_resource_associations[0].id #=> String
910
+ # resp.profile_resource_associations[0].modification_time #=> Time
911
+ # resp.profile_resource_associations[0].name #=> String
912
+ # resp.profile_resource_associations[0].owner_id #=> String
913
+ # resp.profile_resource_associations[0].profile_id #=> String
914
+ # resp.profile_resource_associations[0].resource_arn #=> String
915
+ # resp.profile_resource_associations[0].resource_properties #=> String
916
+ # resp.profile_resource_associations[0].resource_type #=> String
917
+ # resp.profile_resource_associations[0].status #=> String, one of "COMPLETE", "DELETING", "UPDATING", "CREATING", "DELETED", "FAILED"
918
+ # resp.profile_resource_associations[0].status_message #=> String
919
+ #
920
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/ListProfileResourceAssociations AWS API Documentation
921
+ #
922
+ # @overload list_profile_resource_associations(params = {})
923
+ # @param [Hash] params ({})
924
+ def list_profile_resource_associations(params = {}, options = {})
925
+ req = build_request(:list_profile_resource_associations, params)
926
+ req.send_request(options)
927
+ end
928
+
929
+ # Lists all the Route 53 Profiles associated with your Amazon Web
930
+ # Services account.
931
+ #
932
+ # @option params [Integer] :max_results
933
+ # The maximum number of objects that you want to return for this
934
+ # request. If more objects are available, in the response, a `NextToken`
935
+ # value, which you can use in a subsequent call to get the next batch of
936
+ # objects, is provided.
937
+ #
938
+ # If you don't specify a value for `MaxResults`, up to 100 objects are
939
+ # returned.
940
+ #
941
+ # @option params [String] :next_token
942
+ # For the first call to this list request, omit this value.
943
+ #
944
+ # When you request a list of objects, at most the number of objects
945
+ # specified by `MaxResults` is returned. If more objects are available
946
+ # for retrieval, a `NextToken` value is returned in the response. To
947
+ # retrieve the next batch of objects, use the token that was returned
948
+ # for the prior request in your next request.
949
+ #
950
+ # @return [Types::ListProfilesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
951
+ #
952
+ # * {Types::ListProfilesResponse#next_token #next_token} => String
953
+ # * {Types::ListProfilesResponse#profile_summaries #profile_summaries} => Array&lt;Types::ProfileSummary&gt;
954
+ #
955
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
956
+ #
957
+ # @example Request syntax with placeholder values
958
+ #
959
+ # resp = client.list_profiles({
960
+ # max_results: 1,
961
+ # next_token: "NextToken",
962
+ # })
963
+ #
964
+ # @example Response structure
965
+ #
966
+ # resp.next_token #=> String
967
+ # resp.profile_summaries #=> Array
968
+ # resp.profile_summaries[0].arn #=> String
969
+ # resp.profile_summaries[0].id #=> String
970
+ # resp.profile_summaries[0].name #=> String
971
+ # resp.profile_summaries[0].share_status #=> String, one of "NOT_SHARED", "SHARED_WITH_ME", "SHARED_BY_ME"
972
+ #
973
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/ListProfiles AWS API Documentation
974
+ #
975
+ # @overload list_profiles(params = {})
976
+ # @param [Hash] params ({})
977
+ def list_profiles(params = {}, options = {})
978
+ req = build_request(:list_profiles, params)
979
+ req.send_request(options)
980
+ end
981
+
982
+ # Lists the tags that you associated with the specified resource.
983
+ #
984
+ # @option params [required, String] :resource_arn
985
+ # The Amazon Resource Name (ARN) for the resource that you want to list
986
+ # the tags for.
987
+ #
988
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
989
+ #
990
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
991
+ #
992
+ # @example Request syntax with placeholder values
993
+ #
994
+ # resp = client.list_tags_for_resource({
995
+ # resource_arn: "Arn", # required
996
+ # })
997
+ #
998
+ # @example Response structure
999
+ #
1000
+ # resp.tags #=> Hash
1001
+ # resp.tags["TagKey"] #=> String
1002
+ #
1003
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/ListTagsForResource AWS API Documentation
1004
+ #
1005
+ # @overload list_tags_for_resource(params = {})
1006
+ # @param [Hash] params ({})
1007
+ def list_tags_for_resource(params = {}, options = {})
1008
+ req = build_request(:list_tags_for_resource, params)
1009
+ req.send_request(options)
1010
+ end
1011
+
1012
+ # Adds one or more tags to a specified resource.
1013
+ #
1014
+ # @option params [required, String] :resource_arn
1015
+ # The Amazon Resource Name (ARN) for the resource that you want to add
1016
+ # tags to.
1017
+ #
1018
+ # @option params [required, Hash<String,String>] :tags
1019
+ # The tags that you want to add to the specified resource.
1020
+ #
1021
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1022
+ #
1023
+ # @example Request syntax with placeholder values
1024
+ #
1025
+ # resp = client.tag_resource({
1026
+ # resource_arn: "Arn", # required
1027
+ # tags: { # required
1028
+ # "TagKey" => "TagValue",
1029
+ # },
1030
+ # })
1031
+ #
1032
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/TagResource AWS API Documentation
1033
+ #
1034
+ # @overload tag_resource(params = {})
1035
+ # @param [Hash] params ({})
1036
+ def tag_resource(params = {}, options = {})
1037
+ req = build_request(:tag_resource, params)
1038
+ req.send_request(options)
1039
+ end
1040
+
1041
+ # Removes one or more tags from a specified resource.
1042
+ #
1043
+ # @option params [required, String] :resource_arn
1044
+ # The Amazon Resource Name (ARN) for the resource that you want to
1045
+ # remove tags from.
1046
+ #
1047
+ # @option params [required, Array<String>] :tag_keys
1048
+ # The tags that you want to remove to the specified resource.
1049
+ #
1050
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1051
+ #
1052
+ # @example Request syntax with placeholder values
1053
+ #
1054
+ # resp = client.untag_resource({
1055
+ # resource_arn: "Arn", # required
1056
+ # tag_keys: ["TagKey"], # required
1057
+ # })
1058
+ #
1059
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/UntagResource AWS API Documentation
1060
+ #
1061
+ # @overload untag_resource(params = {})
1062
+ # @param [Hash] params ({})
1063
+ def untag_resource(params = {}, options = {})
1064
+ req = build_request(:untag_resource, params)
1065
+ req.send_request(options)
1066
+ end
1067
+
1068
+ # Updates the specified Route 53 Profile resourse association.
1069
+ #
1070
+ # @option params [String] :name
1071
+ # Name of the resource association.
1072
+ #
1073
+ # @option params [required, String] :profile_resource_association_id
1074
+ # ID of the resource association.
1075
+ #
1076
+ # @option params [String] :resource_properties
1077
+ # If you are adding a DNS Firewall rule group, include also a priority
1078
+ # in this format:
1079
+ #
1080
+ # `Key=FirewallRuleGroupPriority,Value=100`.
1081
+ #
1082
+ # @return [Types::UpdateProfileResourceAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1083
+ #
1084
+ # * {Types::UpdateProfileResourceAssociationResponse#profile_resource_association #profile_resource_association} => Types::ProfileResourceAssociation
1085
+ #
1086
+ # @example Request syntax with placeholder values
1087
+ #
1088
+ # resp = client.update_profile_resource_association({
1089
+ # name: "Name",
1090
+ # profile_resource_association_id: "ResourceId", # required
1091
+ # resource_properties: "ResourceProperties",
1092
+ # })
1093
+ #
1094
+ # @example Response structure
1095
+ #
1096
+ # resp.profile_resource_association.creation_time #=> Time
1097
+ # resp.profile_resource_association.id #=> String
1098
+ # resp.profile_resource_association.modification_time #=> Time
1099
+ # resp.profile_resource_association.name #=> String
1100
+ # resp.profile_resource_association.owner_id #=> String
1101
+ # resp.profile_resource_association.profile_id #=> String
1102
+ # resp.profile_resource_association.resource_arn #=> String
1103
+ # resp.profile_resource_association.resource_properties #=> String
1104
+ # resp.profile_resource_association.resource_type #=> String
1105
+ # resp.profile_resource_association.status #=> String, one of "COMPLETE", "DELETING", "UPDATING", "CREATING", "DELETED", "FAILED"
1106
+ # resp.profile_resource_association.status_message #=> String
1107
+ #
1108
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/UpdateProfileResourceAssociation AWS API Documentation
1109
+ #
1110
+ # @overload update_profile_resource_association(params = {})
1111
+ # @param [Hash] params ({})
1112
+ def update_profile_resource_association(params = {}, options = {})
1113
+ req = build_request(:update_profile_resource_association, params)
1114
+ req.send_request(options)
1115
+ end
1116
+
1117
+ # @!endgroup
1118
+
1119
+ # @param params ({})
1120
+ # @api private
1121
+ def build_request(operation_name, params = {})
1122
+ handlers = @handlers.for(operation_name)
1123
+ context = Seahorse::Client::RequestContext.new(
1124
+ operation_name: operation_name,
1125
+ operation: config.api.operation(operation_name),
1126
+ client: self,
1127
+ params: params,
1128
+ config: config)
1129
+ context[:gem_name] = 'aws-sdk-route53profiles'
1130
+ context[:gem_version] = '1.0.0'
1131
+ Seahorse::Client::Request.new(handlers, context)
1132
+ end
1133
+
1134
+ # @api private
1135
+ # @deprecated
1136
+ def waiter_names
1137
+ []
1138
+ end
1139
+
1140
+ class << self
1141
+
1142
+ # @api private
1143
+ attr_reader :identifier
1144
+
1145
+ # @api private
1146
+ def errors_module
1147
+ Errors
1148
+ end
1149
+
1150
+ end
1151
+ end
1152
+ end