aws-sdk-servicediscovery 1.19.0 → 1.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 07eca1f8cc286af7959e9256a8cc60ef5269cf16
4
- data.tar.gz: a5197bfffe828cd8b75e835efbc63b69f6676a99
2
+ SHA256:
3
+ metadata.gz: 1ea6a23cdeb37419f0c80584af95ea204123d3034ef0fce80eead2c750824ad1
4
+ data.tar.gz: db78ee159f8eefc2c2c5b47c88d705ca495e72380dfdf5a46f507da2ff014cbb
5
5
  SHA512:
6
- metadata.gz: 65aeba38528994dd426491c1d4949ec7a0c14809b372c8be8a164a78a89b79961b91fcc67ff9ff397c449e9aa6793a1e3a959ab9b3dbf0d870a0c72c173d8aff
7
- data.tar.gz: b267607c2e22de388de103286f9cd4cc152f396a7dd5546342513493088a6be0336276406c79be3a82ed6a9d1dbab775672a8942514a5384228ee8fc143488f2
6
+ metadata.gz: 3c2bb51c11f991d3b3a261f9b57ba555411cd68d7995e67fe07db79b3485d644b4d95f11204302ff03dcc98107fe05dd087bb04d564a870959a73f2503a16fe7
7
+ data.tar.gz: e97e1a7e84269ff6bab6bb2fe89b13e3fc7b7bf91cef85c33fdb095c4885e496c5aa122079be34be5253d2389679b4f85740d02547103992375daaf34e9748ec
@@ -24,17 +24,20 @@ require_relative 'aws-sdk-servicediscovery/customizations'
24
24
  # methods each accept a hash of request parameters and return a response
25
25
  # structure.
26
26
  #
27
+ # service_discovery = Aws::ServiceDiscovery::Client.new
28
+ # resp = service_discovery.create_http_namespace(params)
29
+ #
27
30
  # See {Client} for more information.
28
31
  #
29
32
  # # Errors
30
33
  #
31
- # Errors returned from AWS Cloud Map all
32
- # extend {Errors::ServiceError}.
34
+ # Errors returned from AWS Cloud Map are defined in the
35
+ # {Errors} module and all extend {Errors::ServiceError}.
33
36
  #
34
37
  # begin
35
38
  # # do stuff
36
39
  # rescue Aws::ServiceDiscovery::Errors::ServiceError
37
- # # rescues all service API errors
40
+ # # rescues all AWS Cloud Map API errors
38
41
  # end
39
42
  #
40
43
  # See {Errors} for more information.
@@ -42,6 +45,6 @@ require_relative 'aws-sdk-servicediscovery/customizations'
42
45
  # @service
43
46
  module Aws::ServiceDiscovery
44
47
 
45
- GEM_VERSION = '1.19.0'
48
+ GEM_VERSION = '1.24.0'
46
49
 
47
50
  end
@@ -30,6 +30,18 @@ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
30
30
  Aws::Plugins::GlobalConfiguration.add_identifier(:servicediscovery)
31
31
 
32
32
  module Aws::ServiceDiscovery
33
+ # An API client for ServiceDiscovery. To construct a client, you need to configure a `:region` and `:credentials`.
34
+ #
35
+ # client = Aws::ServiceDiscovery::Client.new(
36
+ # region: region_name,
37
+ # credentials: credentials,
38
+ # # ...
39
+ # )
40
+ #
41
+ # For details on configuring region and credentials see
42
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
43
+ #
44
+ # See {#initialize} for a full list of supported configuration options.
33
45
  class Client < Seahorse::Client::Base
34
46
 
35
47
  include Aws::ClientStubs
@@ -93,7 +105,7 @@ module Aws::ServiceDiscovery
93
105
  # @option options [required, String] :region
94
106
  # The AWS region to connect to. The configured `:region` is
95
107
  # used to determine the service `:endpoint`. When not passed,
96
- # a default `:region` is search for in the following locations:
108
+ # a default `:region` is searched for in the following locations:
97
109
  #
98
110
  # * `Aws.config[:region]`
99
111
  # * `ENV['AWS_REGION']`
@@ -108,6 +120,12 @@ module Aws::ServiceDiscovery
108
120
  # When set to `true`, a thread polling for endpoints will be running in
109
121
  # the background every 60 secs (default). Defaults to `false`.
110
122
  #
123
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
124
+ # Used only in `adaptive` retry mode. When true, the request will sleep
125
+ # until there is sufficent client side capacity to retry the request.
126
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
127
+ # not retry instead of sleeping.
128
+ #
111
129
  # @option options [Boolean] :client_side_monitoring (false)
112
130
  # When `true`, client-side metrics will be collected for all API requests from
113
131
  # this client.
@@ -132,6 +150,10 @@ module Aws::ServiceDiscovery
132
150
  # When `true`, an attempt is made to coerce request parameters into
133
151
  # the required types.
134
152
  #
153
+ # @option options [Boolean] :correct_clock_skew (true)
154
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
155
+ # a clock skew correction and retry requests with skewed client clocks.
156
+ #
135
157
  # @option options [Boolean] :disable_host_prefix_injection (false)
136
158
  # Set to true to disable SDK automatically adding host prefix
137
159
  # to default service endpoint when available.
@@ -139,7 +161,7 @@ module Aws::ServiceDiscovery
139
161
  # @option options [String] :endpoint
140
162
  # The client endpoint is normally constructed from the `:region`
141
163
  # option. You should only configure an `:endpoint` when connecting
142
- # to test endpoints. This should be avalid HTTP(S) URI.
164
+ # to test endpoints. This should be a valid HTTP(S) URI.
143
165
  #
144
166
  # @option options [Integer] :endpoint_cache_max_entries (1000)
145
167
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -154,7 +176,7 @@ module Aws::ServiceDiscovery
154
176
  # requests fetching endpoints information. Defaults to 60 sec.
155
177
  #
156
178
  # @option options [Boolean] :endpoint_discovery (false)
157
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
179
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
158
180
  #
159
181
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
160
182
  # The log formatter.
@@ -166,15 +188,29 @@ module Aws::ServiceDiscovery
166
188
  # The Logger instance to send log messages to. If this option
167
189
  # is not set, logging will be disabled.
168
190
  #
191
+ # @option options [Integer] :max_attempts (3)
192
+ # An integer representing the maximum number attempts that will be made for
193
+ # a single request, including the initial attempt. For example,
194
+ # setting this value to 5 will result in a request being retried up to
195
+ # 4 times. Used in `standard` and `adaptive` retry modes.
196
+ #
169
197
  # @option options [String] :profile ("default")
170
198
  # Used when loading credentials from the shared credentials file
171
199
  # at HOME/.aws/credentials. When not specified, 'default' is used.
172
200
  #
201
+ # @option options [Proc] :retry_backoff
202
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
203
+ # This option is only used in the `legacy` retry mode.
204
+ #
173
205
  # @option options [Float] :retry_base_delay (0.3)
174
- # The base delay in seconds used by the default backoff function.
206
+ # The base delay in seconds used by the default backoff function. This option
207
+ # is only used in the `legacy` retry mode.
175
208
  #
176
209
  # @option options [Symbol] :retry_jitter (:none)
177
- # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
210
+ # A delay randomiser function used by the default backoff function.
211
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
212
+ # otherwise a Proc that takes and returns a number. This option is only used
213
+ # in the `legacy` retry mode.
178
214
  #
179
215
  # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
180
216
  #
@@ -182,11 +218,30 @@ module Aws::ServiceDiscovery
182
218
  # The maximum number of times to retry failed requests. Only
183
219
  # ~ 500 level server errors and certain ~ 400 level client errors
184
220
  # are retried. Generally, these are throttling errors, data
185
- # checksum errors, networking errors, timeout errors and auth
186
- # errors from expired credentials.
221
+ # checksum errors, networking errors, timeout errors, auth errors,
222
+ # endpoint discovery, and errors from expired credentials.
223
+ # This option is only used in the `legacy` retry mode.
187
224
  #
188
225
  # @option options [Integer] :retry_max_delay (0)
189
- # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
226
+ # The maximum number of seconds to delay between retries (0 for no limit)
227
+ # used by the default backoff function. This option is only used in the
228
+ # `legacy` retry mode.
229
+ #
230
+ # @option options [String] :retry_mode ("legacy")
231
+ # Specifies which retry algorithm to use. Values are:
232
+ #
233
+ # * `legacy` - The pre-existing retry behavior. This is default value if
234
+ # no retry mode is provided.
235
+ #
236
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
237
+ # This includes support for retry quotas, which limit the number of
238
+ # unsuccessful retries a client can make.
239
+ #
240
+ # * `adaptive` - An experimental retry mode that includes all the
241
+ # functionality of `standard` mode along with automatic client side
242
+ # throttling. This is a provisional mode that may change behavior
243
+ # in the future.
244
+ #
190
245
  #
191
246
  # @option options [String] :secret_access_key
192
247
  #
@@ -219,16 +274,15 @@ module Aws::ServiceDiscovery
219
274
  # requests through. Formatted like 'http://proxy.com:123'.
220
275
  #
221
276
  # @option options [Float] :http_open_timeout (15) The number of
222
- # seconds to wait when opening a HTTP session before rasing a
277
+ # seconds to wait when opening a HTTP session before raising a
223
278
  # `Timeout::Error`.
224
279
  #
225
280
  # @option options [Integer] :http_read_timeout (60) The default
226
281
  # number of seconds to wait for response data. This value can
227
- # safely be set
228
- # per-request on the session yeidled by {#session_for}.
282
+ # safely be set per-request on the session.
229
283
  #
230
284
  # @option options [Float] :http_idle_timeout (5) The number of
231
- # seconds a connection is allowed to sit idble before it is
285
+ # seconds a connection is allowed to sit idle before it is
232
286
  # considered stale. Stale connections are closed and removed
233
287
  # from the pool before making a request.
234
288
  #
@@ -237,7 +291,7 @@ module Aws::ServiceDiscovery
237
291
  # request body. This option has no effect unless the request has
238
292
  # "Expect" header set to "100-continue". Defaults to `nil` which
239
293
  # disables this behaviour. This value can safely be set per
240
- # request on the session yeidled by {#session_for}.
294
+ # request on the session.
241
295
  #
242
296
  # @option options [Boolean] :http_wire_trace (false) When `true`,
243
297
  # HTTP debug output will be sent to the `:logger`.
@@ -274,7 +328,7 @@ module Aws::ServiceDiscovery
274
328
  #
275
329
  #
276
330
  #
277
- # [1]: http://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html
331
+ # [1]: https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html
278
332
  #
279
333
  # @option params [required, String] :name
280
334
  # The name that you want to assign to this namespace.
@@ -291,16 +345,44 @@ module Aws::ServiceDiscovery
291
345
  # @option params [String] :description
292
346
  # A description for the namespace.
293
347
  #
348
+ # @option params [Array<Types::Tag>] :tags
349
+ # The tags to add to the namespace. Each tag consists of a key and an
350
+ # optional value, both of which you define. Tag keys can have a maximum
351
+ # character length of 128 characters, and tag values can have a maximum
352
+ # length of 256 characters.
353
+ #
294
354
  # @return [Types::CreateHttpNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
295
355
  #
296
356
  # * {Types::CreateHttpNamespaceResponse#operation_id #operation_id} => String
297
357
  #
358
+ #
359
+ # @example Example: CreateHttpNamespace example
360
+ #
361
+ # # This example creates an HTTP namespace.
362
+ #
363
+ # resp = client.create_http_namespace({
364
+ # creator_request_id: "example-creator-request-id-0001",
365
+ # description: "Example.com AWS Cloud Map HTTP Namespace",
366
+ # name: "example-http.com",
367
+ # })
368
+ #
369
+ # resp.to_h outputs the following:
370
+ # {
371
+ # operation_id: "httpvoqozuhfet5kzxoxg-a-response-example",
372
+ # }
373
+ #
298
374
  # @example Request syntax with placeholder values
299
375
  #
300
376
  # resp = client.create_http_namespace({
301
377
  # name: "NamespaceName", # required
302
378
  # creator_request_id: "ResourceId",
303
379
  # description: "ResourceDescription",
380
+ # tags: [
381
+ # {
382
+ # key: "TagKey", # required
383
+ # value: "TagValue", # required
384
+ # },
385
+ # ],
304
386
  # })
305
387
  #
306
388
  # @example Response structure
@@ -326,7 +408,7 @@ module Aws::ServiceDiscovery
326
408
  #
327
409
  #
328
410
  #
329
- # [1]: http://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html
411
+ # [1]: https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html
330
412
  #
331
413
  # @option params [required, String] :name
332
414
  # The name that you want to assign to this namespace. When you create a
@@ -349,10 +431,32 @@ module Aws::ServiceDiscovery
349
431
  # The ID of the Amazon VPC that you want to associate the namespace
350
432
  # with.
351
433
  #
434
+ # @option params [Array<Types::Tag>] :tags
435
+ # The tags to add to the namespace. Each tag consists of a key and an
436
+ # optional value, both of which you define. Tag keys can have a maximum
437
+ # character length of 128 characters, and tag values can have a maximum
438
+ # length of 256 characters.
439
+ #
352
440
  # @return [Types::CreatePrivateDnsNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
353
441
  #
354
442
  # * {Types::CreatePrivateDnsNamespaceResponse#operation_id #operation_id} => String
355
443
  #
444
+ #
445
+ # @example Example: Example: Create private DNS namespace
446
+ #
447
+ # # Example: Create private DNS namespace
448
+ #
449
+ # resp = client.create_private_dns_namespace({
450
+ # creator_request_id: "eedd6892-50f3-41b2-8af9-611d6e1d1a8c",
451
+ # name: "example.com",
452
+ # vpc: "vpc-1c56417b",
453
+ # })
454
+ #
455
+ # resp.to_h outputs the following:
456
+ # {
457
+ # operation_id: "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd",
458
+ # }
459
+ #
356
460
  # @example Request syntax with placeholder values
357
461
  #
358
462
  # resp = client.create_private_dns_namespace({
@@ -360,6 +464,12 @@ module Aws::ServiceDiscovery
360
464
  # creator_request_id: "ResourceId",
361
465
  # description: "ResourceDescription",
362
466
  # vpc: "ResourceId", # required
467
+ # tags: [
468
+ # {
469
+ # key: "TagKey", # required
470
+ # value: "TagValue", # required
471
+ # },
472
+ # ],
363
473
  # })
364
474
  #
365
475
  # @example Response structure
@@ -385,7 +495,7 @@ module Aws::ServiceDiscovery
385
495
  #
386
496
  #
387
497
  #
388
- # [1]: http://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html
498
+ # [1]: https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html
389
499
  #
390
500
  # @option params [required, String] :name
391
501
  # The name that you want to assign to this namespace.
@@ -402,16 +512,44 @@ module Aws::ServiceDiscovery
402
512
  # @option params [String] :description
403
513
  # A description for the namespace.
404
514
  #
515
+ # @option params [Array<Types::Tag>] :tags
516
+ # The tags to add to the namespace. Each tag consists of a key and an
517
+ # optional value, both of which you define. Tag keys can have a maximum
518
+ # character length of 128 characters, and tag values can have a maximum
519
+ # length of 256 characters.
520
+ #
405
521
  # @return [Types::CreatePublicDnsNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
406
522
  #
407
523
  # * {Types::CreatePublicDnsNamespaceResponse#operation_id #operation_id} => String
408
524
  #
525
+ #
526
+ # @example Example: CreatePublicDnsNamespace example
527
+ #
528
+ # # This example creates a public namespace based on DNS.
529
+ #
530
+ # resp = client.create_public_dns_namespace({
531
+ # creator_request_id: "example-creator-request-id-0003",
532
+ # description: "Example.com AWS Cloud Map Public DNS Namespace",
533
+ # name: "example-public-dns.com",
534
+ # })
535
+ #
536
+ # resp.to_h outputs the following:
537
+ # {
538
+ # operation_id: "dns2voqozuhfet5kzxoxg-a-response-example",
539
+ # }
540
+ #
409
541
  # @example Request syntax with placeholder values
410
542
  #
411
543
  # resp = client.create_public_dns_namespace({
412
544
  # name: "NamespaceName", # required
413
545
  # creator_request_id: "ResourceId",
414
546
  # description: "ResourceDescription",
547
+ # tags: [
548
+ # {
549
+ # key: "TagKey", # required
550
+ # value: "TagValue", # required
551
+ # },
552
+ # ],
415
553
  # })
416
554
  #
417
555
  # @example Response structure
@@ -445,21 +583,40 @@ module Aws::ServiceDiscovery
445
583
  #
446
584
  # * Optionally, a health check
447
585
  #
448
- # After you create the service, you can submit a RegisterInstance
586
+ # After you create the service, you can submit a [RegisterInstance][1]
449
587
  # request, and AWS Cloud Map uses the values in the configuration to
450
588
  # create the specified entities.
451
589
  #
452
590
  # For the current limit on the number of instances that you can register
453
591
  # using the same namespace and using the same service, see [AWS Cloud
454
- # Map Limits][1] in the *AWS Cloud Map Developer Guide*.
592
+ # Map Limits][2] in the *AWS Cloud Map Developer Guide*.
455
593
  #
456
594
  #
457
595
  #
458
- # [1]: http://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html
596
+ # [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html
597
+ # [2]: https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html
459
598
  #
460
599
  # @option params [required, String] :name
461
600
  # The name that you want to assign to the service.
462
601
  #
602
+ # If you want AWS Cloud Map to create an SRV record when you register an
603
+ # instance, and if you're using a system that requires a specific SRV
604
+ # format, such as [HAProxy][1], specify the following for `Name`\:
605
+ #
606
+ # * Start the name with an underscore (\_), such as `_exampleservice`
607
+ #
608
+ # * End the name with *.\_protocol*, such as `._tcp`
609
+ #
610
+ # When you register an instance, AWS Cloud Map creates an SRV record and
611
+ # assigns a name to the record by concatenating the service name and the
612
+ # namespace name, for example:
613
+ #
614
+ # `_exampleservice._tcp.example.com`
615
+ #
616
+ #
617
+ #
618
+ # [1]: http://www.haproxy.org/
619
+ #
463
620
  # @option params [String] :namespace_id
464
621
  # The ID of the namespace that you want to use to create the service.
465
622
  #
@@ -481,10 +638,10 @@ module Aws::ServiceDiscovery
481
638
  # instance.
482
639
  #
483
640
  # @option params [Types::HealthCheckConfig] :health_check_config
484
- # *Public DNS namespaces only.* A complex type that contains settings
485
- # for an optional Route 53 health check. If you specify settings for a
486
- # health check, AWS Cloud Map associates the health check with all the
487
- # Route 53 DNS records that you specify in `DnsConfig`.
641
+ # *Public DNS and HTTP namespaces only.* A complex type that contains
642
+ # settings for an optional Route 53 health check. If you specify
643
+ # settings for a health check, AWS Cloud Map associates the health check
644
+ # with all the Route 53 DNS records that you specify in `DnsConfig`.
488
645
  #
489
646
  # If you specify a health check configuration, you can specify either
490
647
  # `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
@@ -503,10 +660,62 @@ module Aws::ServiceDiscovery
503
660
  # If you specify a health check configuration, you can specify either
504
661
  # `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
505
662
  #
663
+ # You can't add, update, or delete a `HealthCheckCustomConfig`
664
+ # configuration from an existing service.
665
+ #
666
+ # @option params [Array<Types::Tag>] :tags
667
+ # The tags to add to the service. Each tag consists of a key and an
668
+ # optional value, both of which you define. Tag keys can have a maximum
669
+ # character length of 128 characters, and tag values can have a maximum
670
+ # length of 256 characters.
671
+ #
506
672
  # @return [Types::CreateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
507
673
  #
508
674
  # * {Types::CreateServiceResponse#service #service} => Types::Service
509
675
  #
676
+ #
677
+ # @example Example: Example: Create service
678
+ #
679
+ # # Example: Create service
680
+ #
681
+ # resp = client.create_service({
682
+ # creator_request_id: "567c1193-6b00-4308-bd57-ad38a8822d25",
683
+ # dns_config: {
684
+ # dns_records: [
685
+ # {
686
+ # ttl: 60,
687
+ # type: "A",
688
+ # },
689
+ # ],
690
+ # namespace_id: "ns-ylexjili4cdxy3xm",
691
+ # routing_policy: "MULTIVALUE",
692
+ # },
693
+ # name: "myservice",
694
+ # namespace_id: "ns-ylexjili4cdxy3xm",
695
+ # })
696
+ #
697
+ # resp.to_h outputs the following:
698
+ # {
699
+ # service: {
700
+ # arn: "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita",
701
+ # create_date: Time.parse(1587081768.334),
702
+ # creator_request_id: "567c1193-6b00-4308-bd57-ad38a8822d25",
703
+ # dns_config: {
704
+ # dns_records: [
705
+ # {
706
+ # ttl: 60,
707
+ # type: "A",
708
+ # },
709
+ # ],
710
+ # namespace_id: "ns-ylexjili4cdxy3xm",
711
+ # routing_policy: "MULTIVALUE",
712
+ # },
713
+ # id: "srv-p5zdwlg5uvvzjita",
714
+ # name: "myservice",
715
+ # namespace_id: "ns-ylexjili4cdxy3xm",
716
+ # },
717
+ # }
718
+ #
510
719
  # @example Request syntax with placeholder values
511
720
  #
512
721
  # resp = client.create_service({
@@ -532,6 +741,12 @@ module Aws::ServiceDiscovery
532
741
  # health_check_custom_config: {
533
742
  # failure_threshold: 1,
534
743
  # },
744
+ # tags: [
745
+ # {
746
+ # key: "TagKey", # required
747
+ # value: "TagValue", # required
748
+ # },
749
+ # ],
535
750
  # })
536
751
  #
537
752
  # @example Response structure
@@ -573,6 +788,20 @@ module Aws::ServiceDiscovery
573
788
  #
574
789
  # * {Types::DeleteNamespaceResponse#operation_id #operation_id} => String
575
790
  #
791
+ #
792
+ # @example Example: Example: Delete namespace
793
+ #
794
+ # # Example: Delete namespace
795
+ #
796
+ # resp = client.delete_namespace({
797
+ # id: "ns-ylexjili4cdxy3xm",
798
+ # })
799
+ #
800
+ # resp.to_h outputs the following:
801
+ # {
802
+ # operation_id: "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k98y6drk",
803
+ # }
804
+ #
576
805
  # @example Request syntax with placeholder values
577
806
  #
578
807
  # resp = client.delete_namespace({
@@ -600,6 +829,19 @@ module Aws::ServiceDiscovery
600
829
  #
601
830
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
602
831
  #
832
+ #
833
+ # @example Example: Example: Delete service
834
+ #
835
+ # # Example: Delete service
836
+ #
837
+ # resp = client.delete_service({
838
+ # id: "srv-p5zdwlg5uvvzjita",
839
+ # })
840
+ #
841
+ # resp.to_h outputs the following:
842
+ # {
843
+ # }
844
+ #
603
845
  # @example Request syntax with placeholder values
604
846
  #
605
847
  # resp = client.delete_service({
@@ -622,12 +864,32 @@ module Aws::ServiceDiscovery
622
864
  # The ID of the service that the instance is associated with.
623
865
  #
624
866
  # @option params [required, String] :instance_id
625
- # The value that you specified for `Id` in the RegisterInstance request.
867
+ # The value that you specified for `Id` in the [RegisterInstance][1]
868
+ # request.
869
+ #
870
+ #
871
+ #
872
+ # [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html
626
873
  #
627
874
  # @return [Types::DeregisterInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
628
875
  #
629
876
  # * {Types::DeregisterInstanceResponse#operation_id #operation_id} => String
630
877
  #
878
+ #
879
+ # @example Example: Example: Deregister a service instance
880
+ #
881
+ # # Example: Deregister a service instance
882
+ #
883
+ # resp = client.deregister_instance({
884
+ # instance_id: "myservice-53",
885
+ # service_id: "srv-p5zdwlg5uvvzjita",
886
+ # })
887
+ #
888
+ # resp.to_h outputs the following:
889
+ # {
890
+ # operation_id: "4yejorelbukcjzpnr6tlmrghsjwpngf4-k98rnaiq",
891
+ # }
892
+ #
631
893
  # @example Request syntax with placeholder values
632
894
  #
633
895
  # resp = client.deregister_instance({
@@ -649,6 +911,9 @@ module Aws::ServiceDiscovery
649
911
  end
650
912
 
651
913
  # Discovers registered instances for a specified namespace and service.
914
+ # You can use `DiscoverInstances` to discover instances for any type of
915
+ # namespace. For public and private DNS namespaces, you can also use DNS
916
+ # queries to discover instances.
652
917
  #
653
918
  # @option params [required, String] :namespace_name
654
919
  # The name of the namespace that you specified when you registered the
@@ -659,9 +924,10 @@ module Aws::ServiceDiscovery
659
924
  # instance.
660
925
  #
661
926
  # @option params [Integer] :max_results
662
- # The maximum number of instances that you want Cloud Map to return in
663
- # the response to a `DiscoverInstances` request. If you don't specify a
664
- # value for `MaxResults`, Cloud Map returns up to 100 instances.
927
+ # The maximum number of instances that you want AWS Cloud Map to return
928
+ # in the response to a `DiscoverInstances` request. If you don't
929
+ # specify a value for `MaxResults`, AWS Cloud Map returns up to 100
930
+ # instances.
665
931
  #
666
932
  # @option params [Hash<String,String>] :query_parameters
667
933
  # A string map that contains attributes with values that you can use to
@@ -676,6 +942,34 @@ module Aws::ServiceDiscovery
676
942
  #
677
943
  # * {Types::DiscoverInstancesResponse#instances #instances} => Array&lt;Types::HttpInstanceSummary&gt;
678
944
  #
945
+ #
946
+ # @example Example: Example: Discover registered instances
947
+ #
948
+ # # Example: Discover registered instances
949
+ #
950
+ # resp = client.discover_instances({
951
+ # health_status: "ALL",
952
+ # max_results: 10,
953
+ # namespace_name: "example.com",
954
+ # service_name: "myservice",
955
+ # })
956
+ #
957
+ # resp.to_h outputs the following:
958
+ # {
959
+ # instances: [
960
+ # {
961
+ # attributes: {
962
+ # "AWS_INSTANCE_IPV4" => "172.2.1.3",
963
+ # "AWS_INSTANCE_PORT" => "808",
964
+ # },
965
+ # health_status: "UNKNOWN",
966
+ # instance_id: "myservice-53",
967
+ # namespace_name: "example.com",
968
+ # service_name: "myservice",
969
+ # },
970
+ # ],
971
+ # }
972
+ #
679
973
  # @example Request syntax with placeholder values
680
974
  #
681
975
  # resp = client.discover_instances({
@@ -719,6 +1013,30 @@ module Aws::ServiceDiscovery
719
1013
  #
720
1014
  # * {Types::GetInstanceResponse#instance #instance} => Types::Instance
721
1015
  #
1016
+ #
1017
+ # @example Example: GetInstance example
1018
+ #
1019
+ # # This example gets information about a specified instance.
1020
+ #
1021
+ # resp = client.get_instance({
1022
+ # instance_id: "i-abcd1234",
1023
+ # service_id: "srv-e4anhexample0004",
1024
+ # })
1025
+ #
1026
+ # resp.to_h outputs the following:
1027
+ # {
1028
+ # instance: {
1029
+ # attributes: {
1030
+ # "AWS_INSTANCE_IPV4" => "192.0.2.44",
1031
+ # "AWS_INSTANCE_PORT" => "80",
1032
+ # "color" => "green",
1033
+ # "region" => "us-west-2",
1034
+ # "stage" => "beta",
1035
+ # },
1036
+ # id: "i-abcd1234",
1037
+ # },
1038
+ # }
1039
+ #
722
1040
  # @example Request syntax with placeholder values
723
1041
  #
724
1042
  # resp = client.get_instance({
@@ -761,10 +1079,14 @@ module Aws::ServiceDiscovery
761
1079
  # all the instances that are associated with the specified service.
762
1080
  #
763
1081
  # <note markdown="1"> To get the IDs for the instances that you've registered by using a
764
- # specified service, submit a ListInstances request.
1082
+ # specified service, submit a [ListInstances][1] request.
765
1083
  #
766
1084
  # </note>
767
1085
  #
1086
+ #
1087
+ #
1088
+ # [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_ListInstances.html
1089
+ #
768
1090
  # @option params [Integer] :max_results
769
1091
  # The maximum number of instances that you want AWS Cloud Map to return
770
1092
  # in the response to a `GetInstancesHealthStatus` request. If you don't
@@ -784,6 +1106,25 @@ module Aws::ServiceDiscovery
784
1106
  # * {Types::GetInstancesHealthStatusResponse#status #status} => Hash&lt;String,String&gt;
785
1107
  # * {Types::GetInstancesHealthStatusResponse#next_token #next_token} => String
786
1108
  #
1109
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1110
+ #
1111
+ #
1112
+ # @example Example: GetInstancesHealthStatus example
1113
+ #
1114
+ # # This example gets the current health status of one or more instances that are associate with a specified service.
1115
+ #
1116
+ # resp = client.get_instances_health_status({
1117
+ # service_id: "srv-e4anhexample0004",
1118
+ # })
1119
+ #
1120
+ # resp.to_h outputs the following:
1121
+ # {
1122
+ # status: {
1123
+ # "i-abcd1234" => "HEALTHY",
1124
+ # "i-abcd1235" => "UNHEALTHY",
1125
+ # },
1126
+ # }
1127
+ #
787
1128
  # @example Request syntax with placeholder values
788
1129
  #
789
1130
  # resp = client.get_instances_health_status({
@@ -817,6 +1158,35 @@ module Aws::ServiceDiscovery
817
1158
  #
818
1159
  # * {Types::GetNamespaceResponse#namespace #namespace} => Types::Namespace
819
1160
  #
1161
+ #
1162
+ # @example Example: GetNamespace example
1163
+ #
1164
+ # # This example gets information about a specified namespace.
1165
+ #
1166
+ # resp = client.get_namespace({
1167
+ # id: "ns-e4anhexample0004",
1168
+ # })
1169
+ #
1170
+ # resp.to_h outputs the following:
1171
+ # {
1172
+ # namespace: {
1173
+ # arn: "arn:aws:servicediscovery:us-west-2: 123456789120:namespace/ns-e1tpmexample0001",
1174
+ # create_date: Time.parse("20181118T211712Z"),
1175
+ # creator_request_id: "example-creator-request-id-0001",
1176
+ # description: "Example.com AWS Cloud Map HTTP Namespace",
1177
+ # id: "ns-e1tpmexample0001",
1178
+ # name: "example-http.com",
1179
+ # properties: {
1180
+ # dns_properties: {
1181
+ # },
1182
+ # http_properties: {
1183
+ # http_name: "example-http.com",
1184
+ # },
1185
+ # },
1186
+ # type: "HTTP",
1187
+ # },
1188
+ # }
1189
+ #
820
1190
  # @example Request syntax with placeholder values
821
1191
  #
822
1192
  # resp = client.get_namespace({
@@ -849,10 +1219,14 @@ module Aws::ServiceDiscovery
849
1219
  # the response, such as a `CreateService` request.
850
1220
  #
851
1221
  # <note markdown="1"> To get a list of operations that match specified criteria, see
852
- # ListOperations.
1222
+ # [ListOperations][1].
853
1223
  #
854
1224
  # </note>
855
1225
  #
1226
+ #
1227
+ #
1228
+ # [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_ListOperations.html
1229
+ #
856
1230
  # @option params [required, String] :operation_id
857
1231
  # The ID of the operation that you want to get more information about.
858
1232
  #
@@ -860,6 +1234,29 @@ module Aws::ServiceDiscovery
860
1234
  #
861
1235
  # * {Types::GetOperationResponse#operation #operation} => Types::Operation
862
1236
  #
1237
+ #
1238
+ # @example Example: Example: Get operation result
1239
+ #
1240
+ # # Example: Get operation result
1241
+ #
1242
+ # resp = client.get_operation({
1243
+ # operation_id: "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd",
1244
+ # })
1245
+ #
1246
+ # resp.to_h outputs the following:
1247
+ # {
1248
+ # operation: {
1249
+ # create_date: Time.parse(1587055860.121),
1250
+ # id: "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd",
1251
+ # status: "SUCCESS",
1252
+ # targets: {
1253
+ # "NAMESPACE" => "ns-ylexjili4cdxy3xm",
1254
+ # },
1255
+ # type: "CREATE_NAMESPACE",
1256
+ # update_date: Time.parse(1587055900.469),
1257
+ # },
1258
+ # }
1259
+ #
863
1260
  # @example Request syntax with placeholder values
864
1261
  #
865
1262
  # resp = client.get_operation({
@@ -896,6 +1293,33 @@ module Aws::ServiceDiscovery
896
1293
  #
897
1294
  # * {Types::GetServiceResponse#service #service} => Types::Service
898
1295
  #
1296
+ #
1297
+ # @example Example: GetService Example
1298
+ #
1299
+ # # This example gets the settings for a specified service.
1300
+ #
1301
+ # resp = client.get_service({
1302
+ # id: "srv-e4anhexample0004",
1303
+ # })
1304
+ #
1305
+ # resp.to_h outputs the following:
1306
+ # {
1307
+ # service: {
1308
+ # arn: "arn:aws:servicediscovery:us-west-2:123456789120:service/srv-e4anhexample0004",
1309
+ # create_date: Time.parse("20181118T211707Z"),
1310
+ # creator_request_id: "example-creator-request-id-0004",
1311
+ # description: "Example.com AWS Cloud Map HTTP Service",
1312
+ # health_check_config: {
1313
+ # failure_threshold: 3,
1314
+ # resource_path: "/",
1315
+ # type: "HTTPS",
1316
+ # },
1317
+ # id: "srv-e4anhexample0004",
1318
+ # name: "example-http-service",
1319
+ # namespace_id: "ns-e4anhexample0004",
1320
+ # },
1321
+ # }
1322
+ #
899
1323
  # @example Request syntax with placeholder values
900
1324
  #
901
1325
  # resp = client.get_service({
@@ -955,6 +1379,30 @@ module Aws::ServiceDiscovery
955
1379
  # * {Types::ListInstancesResponse#instances #instances} => Array&lt;Types::InstanceSummary&gt;
956
1380
  # * {Types::ListInstancesResponse#next_token #next_token} => String
957
1381
  #
1382
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1383
+ #
1384
+ #
1385
+ # @example Example: Example: List service instances
1386
+ #
1387
+ # # Example: List service instances
1388
+ #
1389
+ # resp = client.list_instances({
1390
+ # service_id: "srv-qzpwvt2tfqcegapy",
1391
+ # })
1392
+ #
1393
+ # resp.to_h outputs the following:
1394
+ # {
1395
+ # instances: [
1396
+ # {
1397
+ # attributes: {
1398
+ # "AWS_INSTANCE_IPV4" => "172.2.1.3",
1399
+ # "AWS_INSTANCE_PORT" => "808",
1400
+ # },
1401
+ # id: "i-06bdabbae60f65a4e",
1402
+ # },
1403
+ # ],
1404
+ # }
1405
+ #
958
1406
  # @example Request syntax with placeholder values
959
1407
  #
960
1408
  # resp = client.list_instances({
@@ -1015,6 +1463,67 @@ module Aws::ServiceDiscovery
1015
1463
  # * {Types::ListNamespacesResponse#namespaces #namespaces} => Array&lt;Types::NamespaceSummary&gt;
1016
1464
  # * {Types::ListNamespacesResponse#next_token #next_token} => String
1017
1465
  #
1466
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1467
+ #
1468
+ #
1469
+ # @example Example: Example: List namespaces
1470
+ #
1471
+ # # Example: List namespaces
1472
+ #
1473
+ # resp = client.list_namespaces({
1474
+ # })
1475
+ #
1476
+ # resp.to_h outputs the following:
1477
+ # {
1478
+ # namespaces: [
1479
+ # {
1480
+ # arn: "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-a3ccy2e7e3a7rile",
1481
+ # create_date: Time.parse(1585354387.357),
1482
+ # id: "ns-a3ccy2e7e3a7rile",
1483
+ # name: "local",
1484
+ # properties: {
1485
+ # dns_properties: {
1486
+ # hosted_zone_id: "Z06752353VBUDTC32S84S",
1487
+ # },
1488
+ # http_properties: {
1489
+ # http_name: "local",
1490
+ # },
1491
+ # },
1492
+ # type: "DNS_PRIVATE",
1493
+ # },
1494
+ # {
1495
+ # arn: "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-pocfyjtrsmwtvcxx",
1496
+ # create_date: Time.parse(1586468974.698),
1497
+ # description: "My second namespace",
1498
+ # id: "ns-pocfyjtrsmwtvcxx",
1499
+ # name: "My-second-namespace",
1500
+ # properties: {
1501
+ # dns_properties: {
1502
+ # },
1503
+ # http_properties: {
1504
+ # http_name: "My-second-namespace",
1505
+ # },
1506
+ # },
1507
+ # type: "HTTP",
1508
+ # },
1509
+ # {
1510
+ # arn: "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-ylexjili4cdxy3xm",
1511
+ # create_date: Time.parse(1587055896.798),
1512
+ # id: "ns-ylexjili4cdxy3xm",
1513
+ # name: "example.com",
1514
+ # properties: {
1515
+ # dns_properties: {
1516
+ # hosted_zone_id: "Z09983722P0QME1B3KC8I",
1517
+ # },
1518
+ # http_properties: {
1519
+ # http_name: "example.com",
1520
+ # },
1521
+ # },
1522
+ # type: "DNS_PRIVATE",
1523
+ # },
1524
+ # ],
1525
+ # }
1526
+ #
1018
1527
  # @example Request syntax with placeholder values
1019
1528
  #
1020
1529
  # resp = client.list_namespaces({
@@ -1087,6 +1596,44 @@ module Aws::ServiceDiscovery
1087
1596
  # * {Types::ListOperationsResponse#operations #operations} => Array&lt;Types::OperationSummary&gt;
1088
1597
  # * {Types::ListOperationsResponse#next_token #next_token} => String
1089
1598
  #
1599
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1600
+ #
1601
+ #
1602
+ # @example Example: ListOperations Example
1603
+ #
1604
+ # # This example gets the operations that have a STATUS of either PENDING or SUCCESS.
1605
+ #
1606
+ # resp = client.list_operations({
1607
+ # filters: [
1608
+ # {
1609
+ # condition: "IN",
1610
+ # name: "STATUS",
1611
+ # values: [
1612
+ # "PENDING",
1613
+ # "SUCCESS",
1614
+ # ],
1615
+ # },
1616
+ # ],
1617
+ # })
1618
+ #
1619
+ # resp.to_h outputs the following:
1620
+ # {
1621
+ # operations: [
1622
+ # {
1623
+ # id: "76yy8ovhpdz0plmjzbsnqgnrqvpv2qdt-kexample",
1624
+ # status: "SUCCESS",
1625
+ # },
1626
+ # {
1627
+ # id: "prysnyzpji3u2ciy45nke83x2zanl7yk-dexample",
1628
+ # status: "SUCCESS",
1629
+ # },
1630
+ # {
1631
+ # id: "ko4ekftir7kzlbechsh7xvcdgcpk66gh-7example",
1632
+ # status: "PENDING",
1633
+ # },
1634
+ # ],
1635
+ # }
1636
+ #
1090
1637
  # @example Request syntax with placeholder values
1091
1638
  #
1092
1639
  # resp = client.list_operations({
@@ -1152,6 +1699,37 @@ module Aws::ServiceDiscovery
1152
1699
  # * {Types::ListServicesResponse#services #services} => Array&lt;Types::ServiceSummary&gt;
1153
1700
  # * {Types::ListServicesResponse#next_token #next_token} => String
1154
1701
  #
1702
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1703
+ #
1704
+ #
1705
+ # @example Example: Example: List services
1706
+ #
1707
+ # # Example: List services
1708
+ #
1709
+ # resp = client.list_services({
1710
+ # })
1711
+ #
1712
+ # resp.to_h outputs the following:
1713
+ # {
1714
+ # services: [
1715
+ # {
1716
+ # arn: "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita",
1717
+ # create_date: Time.parse(1587081768.334),
1718
+ # dns_config: {
1719
+ # dns_records: [
1720
+ # {
1721
+ # ttl: 60,
1722
+ # type: "A",
1723
+ # },
1724
+ # ],
1725
+ # routing_policy: "MULTIVALUE",
1726
+ # },
1727
+ # id: "srv-p5zdwlg5uvvzjita",
1728
+ # name: "myservice",
1729
+ # },
1730
+ # ],
1731
+ # }
1732
+ #
1155
1733
  # @example Request syntax with placeholder values
1156
1734
  #
1157
1735
  # resp = client.list_services({
@@ -1195,6 +1773,60 @@ module Aws::ServiceDiscovery
1195
1773
  req.send_request(options)
1196
1774
  end
1197
1775
 
1776
+ # Lists tags for the specified resource.
1777
+ #
1778
+ # @option params [required, String] :resource_arn
1779
+ # The Amazon Resource Name (ARN) of the resource that you want to
1780
+ # retrieve tags for.
1781
+ #
1782
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1783
+ #
1784
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
1785
+ #
1786
+ #
1787
+ # @example Example: ListTagsForResource example
1788
+ #
1789
+ # # This example lists the tags of a resource.
1790
+ #
1791
+ # resp = client.list_tags_for_resource({
1792
+ # resource_arn: "arn:aws:servicediscovery:us-east-1:123456789012:namespace/ns-ylexjili4cdxy3xm",
1793
+ # })
1794
+ #
1795
+ # resp.to_h outputs the following:
1796
+ # {
1797
+ # tags: [
1798
+ # {
1799
+ # key: "Project",
1800
+ # value: "Zeta",
1801
+ # },
1802
+ # {
1803
+ # key: "Department",
1804
+ # value: "Engineering",
1805
+ # },
1806
+ # ],
1807
+ # }
1808
+ #
1809
+ # @example Request syntax with placeholder values
1810
+ #
1811
+ # resp = client.list_tags_for_resource({
1812
+ # resource_arn: "AmazonResourceName", # required
1813
+ # })
1814
+ #
1815
+ # @example Response structure
1816
+ #
1817
+ # resp.tags #=> Array
1818
+ # resp.tags[0].key #=> String
1819
+ # resp.tags[0].value #=> String
1820
+ #
1821
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListTagsForResource AWS API Documentation
1822
+ #
1823
+ # @overload list_tags_for_resource(params = {})
1824
+ # @param [Hash] params ({})
1825
+ def list_tags_for_resource(params = {}, options = {})
1826
+ req = build_request(:list_tags_for_resource, params)
1827
+ req.send_request(options)
1828
+ end
1829
+
1198
1830
  # Creates or updates one or more records and, optionally, creates a
1199
1831
  # health check based on the settings in a specified service. When you
1200
1832
  # submit a `RegisterInstance` request, the following occurs:
@@ -1212,7 +1844,7 @@ module Aws::ServiceDiscovery
1212
1844
  # One `RegisterInstance` request must complete before you can submit
1213
1845
  # another request and specify the same service ID and instance ID.
1214
1846
  #
1215
- # For more information, see CreateService.
1847
+ # For more information, see [CreateService][1].
1216
1848
  #
1217
1849
  # When AWS Cloud Map receives a DNS query for the specified DNS name, it
1218
1850
  # returns the applicable value:
@@ -1227,11 +1859,12 @@ module Aws::ServiceDiscovery
1227
1859
  #
1228
1860
  # For the current limit on the number of instances that you can register
1229
1861
  # using the same namespace and using the same service, see [AWS Cloud
1230
- # Map Limits][1] in the *AWS Cloud Map Developer Guide*.
1862
+ # Map Limits][2] in the *AWS Cloud Map Developer Guide*.
1231
1863
  #
1232
1864
  #
1233
1865
  #
1234
- # [1]: http://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html
1866
+ # [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html
1867
+ # [2]: https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html
1235
1868
  #
1236
1869
  # @option params [required, String] :service_id
1237
1870
  # The ID of the service that you want to use for settings for the
@@ -1244,7 +1877,7 @@ module Aws::ServiceDiscovery
1244
1877
  # * If the service that is specified by `ServiceId` includes settings
1245
1878
  # for an SRV record, the value of `InstanceId` is automatically
1246
1879
  # included as part of the value for the SRV record. For more
1247
- # information, see DnsRecord$Type.
1880
+ # information, see [DnsRecord &gt; Type][1].
1248
1881
  #
1249
1882
  # * You can use this value to update an existing instance.
1250
1883
  #
@@ -1261,6 +1894,10 @@ module Aws::ServiceDiscovery
1261
1894
  #
1262
1895
  # </note>
1263
1896
  #
1897
+ #
1898
+ #
1899
+ # [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_DnsRecord.html#cloudmap-Type-DnsRecord-Type
1900
+ #
1264
1901
  # @option params [String] :creator_request_id
1265
1902
  # A unique string that identifies the request and that allows failed
1266
1903
  # `RegisterInstance` requests to be retried without the risk of
@@ -1360,23 +1997,45 @@ module Aws::ServiceDiscovery
1360
1997
  # If the service includes `HealthCheckConfig`, the port on the endpoint
1361
1998
  # that you want Route 53 to send requests to.
1362
1999
  #
1363
- # This value is required if you specified settings for an SRV record
1364
- # when you created the service.
2000
+ # This value is required if you specified settings for an SRV record or
2001
+ # a Route 53 health check when you created the service.
1365
2002
  #
1366
2003
  # **Custom attributes**
1367
2004
  #
1368
2005
  # You can add up to 30 custom attributes. For each key-value pair, the
1369
2006
  # maximum length of the attribute name is 255 characters, and the
1370
- # maximum length of the attribute value is 1,024 characters.
2007
+ # maximum length of the attribute value is 1,024 characters. Total size
2008
+ # of all provided attributes (sum of all keys and values) must not
2009
+ # exceed 5,000 characters.
1371
2010
  #
1372
2011
  #
1373
2012
  #
1374
- # [1]: http://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html
2013
+ # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html
1375
2014
  #
1376
2015
  # @return [Types::RegisterInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1377
2016
  #
1378
2017
  # * {Types::RegisterInstanceResponse#operation_id #operation_id} => String
1379
2018
  #
2019
+ #
2020
+ # @example Example: Example: Register Instance
2021
+ #
2022
+ # # Example: Register Instance
2023
+ #
2024
+ # resp = client.register_instance({
2025
+ # attributes: {
2026
+ # "AWS_INSTANCE_IPV4" => "172.2.1.3",
2027
+ # "AWS_INSTANCE_PORT" => "808",
2028
+ # },
2029
+ # creator_request_id: "7a48a98a-72e6-4849-bfa7-1a458e030d7b",
2030
+ # instance_id: "myservice-53",
2031
+ # service_id: "srv-p5zdwlg5uvvzjita",
2032
+ # })
2033
+ #
2034
+ # resp.to_h outputs the following:
2035
+ # {
2036
+ # operation_id: "4yejorelbukcjzpnr6tlmrghsjwpngf4-k95yg2u7",
2037
+ # }
2038
+ #
1380
2039
  # @example Request syntax with placeholder values
1381
2040
  #
1382
2041
  # resp = client.register_instance({
@@ -1401,6 +2060,107 @@ module Aws::ServiceDiscovery
1401
2060
  req.send_request(options)
1402
2061
  end
1403
2062
 
2063
+ # Adds one or more tags to the specified resource.
2064
+ #
2065
+ # @option params [required, String] :resource_arn
2066
+ # The Amazon Resource Name (ARN) of the resource that you want to
2067
+ # retrieve tags for.
2068
+ #
2069
+ # @option params [required, Array<Types::Tag>] :tags
2070
+ # The tags to add to the specified resource. Specifying the tag key is
2071
+ # required. You can set the value of a tag to an empty string, but you
2072
+ # can't set the value of a tag to null.
2073
+ #
2074
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2075
+ #
2076
+ #
2077
+ # @example Example: TagResource example
2078
+ #
2079
+ # # This example adds "Department" and "Project" tags to a resource.
2080
+ #
2081
+ # resp = client.tag_resource({
2082
+ # resource_arn: "arn:aws:servicediscovery:us-east-1:123456789012:namespace/ns-ylexjili4cdxy3xm",
2083
+ # tags: [
2084
+ # {
2085
+ # key: "Department",
2086
+ # value: "Engineering",
2087
+ # },
2088
+ # {
2089
+ # key: "Project",
2090
+ # value: "Zeta",
2091
+ # },
2092
+ # ],
2093
+ # })
2094
+ #
2095
+ # resp.to_h outputs the following:
2096
+ # {
2097
+ # }
2098
+ #
2099
+ # @example Request syntax with placeholder values
2100
+ #
2101
+ # resp = client.tag_resource({
2102
+ # resource_arn: "AmazonResourceName", # required
2103
+ # tags: [ # required
2104
+ # {
2105
+ # key: "TagKey", # required
2106
+ # value: "TagValue", # required
2107
+ # },
2108
+ # ],
2109
+ # })
2110
+ #
2111
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/TagResource AWS API Documentation
2112
+ #
2113
+ # @overload tag_resource(params = {})
2114
+ # @param [Hash] params ({})
2115
+ def tag_resource(params = {}, options = {})
2116
+ req = build_request(:tag_resource, params)
2117
+ req.send_request(options)
2118
+ end
2119
+
2120
+ # Removes one or more tags from the specified resource.
2121
+ #
2122
+ # @option params [required, String] :resource_arn
2123
+ # The Amazon Resource Name (ARN) of the resource that you want to
2124
+ # retrieve tags for.
2125
+ #
2126
+ # @option params [required, Array<String>] :tag_keys
2127
+ # The tag keys to remove from the specified resource.
2128
+ #
2129
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2130
+ #
2131
+ #
2132
+ # @example Example: UntagResource example
2133
+ #
2134
+ # # This example removes the "Department" and "Project" tags from a resource.
2135
+ #
2136
+ # resp = client.untag_resource({
2137
+ # resource_arn: "arn:aws:servicediscovery:us-east-1:123456789012:namespace/ns-ylexjili4cdxy3xm",
2138
+ # tag_keys: [
2139
+ # "Project",
2140
+ # "Department",
2141
+ # ],
2142
+ # })
2143
+ #
2144
+ # resp.to_h outputs the following:
2145
+ # {
2146
+ # }
2147
+ #
2148
+ # @example Request syntax with placeholder values
2149
+ #
2150
+ # resp = client.untag_resource({
2151
+ # resource_arn: "AmazonResourceName", # required
2152
+ # tag_keys: ["TagKey"], # required
2153
+ # })
2154
+ #
2155
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UntagResource AWS API Documentation
2156
+ #
2157
+ # @overload untag_resource(params = {})
2158
+ # @param [Hash] params ({})
2159
+ def untag_resource(params = {}, options = {})
2160
+ req = build_request(:untag_resource, params)
2161
+ req.send_request(options)
2162
+ end
2163
+
1404
2164
  # Submits a request to change the health status of a custom health check
1405
2165
  # to healthy or unhealthy.
1406
2166
  #
@@ -1410,7 +2170,11 @@ module Aws::ServiceDiscovery
1410
2170
  # to change the status for Route 53 health checks, which you define
1411
2171
  # using `HealthCheckConfig`.
1412
2172
  #
1413
- # For more information, see HealthCheckCustomConfig.
2173
+ # For more information, see [HealthCheckCustomConfig][1].
2174
+ #
2175
+ #
2176
+ #
2177
+ # [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_HealthCheckCustomConfig.html
1414
2178
  #
1415
2179
  # @option params [required, String] :service_id
1416
2180
  # The ID of the service that includes the configuration for the custom
@@ -1424,6 +2188,18 @@ module Aws::ServiceDiscovery
1424
2188
  #
1425
2189
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1426
2190
  #
2191
+ #
2192
+ # @example Example: UpdateInstanceCustomHealthStatus Example
2193
+ #
2194
+ # # This example submits a request to change the health status of an instance associated with a service with a custom health
2195
+ # # check to HEALTHY.
2196
+ #
2197
+ # resp = client.update_instance_custom_health_status({
2198
+ # instance_id: "i-abcd1234",
2199
+ # service_id: "srv-e4anhexample0004",
2200
+ # status: "HEALTHY",
2201
+ # })
2202
+ #
1427
2203
  # @example Request syntax with placeholder values
1428
2204
  #
1429
2205
  # resp = client.update_instance_custom_health_status({
@@ -1443,21 +2219,28 @@ module Aws::ServiceDiscovery
1443
2219
 
1444
2220
  # Submits a request to perform the following operations:
1445
2221
  #
1446
- # * Add or delete `DnsRecords` configurations
1447
- #
1448
2222
  # * Update the TTL setting for existing `DnsRecords` configurations
1449
2223
  #
1450
2224
  # * Add, update, or delete `HealthCheckConfig` for a specified service
1451
2225
  #
1452
- # For public and private DNS namespaces, you must specify all
1453
- # `DnsRecords` configurations (and, optionally, `HealthCheckConfig`)
1454
- # that you want to appear in the updated service. Any current
1455
- # configurations that don't appear in an `UpdateService` request are
1456
- # deleted.
2226
+ # <note markdown="1"> You can't add, update, or delete a `HealthCheckCustomConfig`
2227
+ # configuration.
2228
+ #
2229
+ # </note>
2230
+ #
2231
+ # For public and private DNS namespaces, note the following:
2232
+ #
2233
+ # * If you omit any existing `DnsRecords` or `HealthCheckConfig`
2234
+ # configurations from an `UpdateService` request, the configurations
2235
+ # are deleted from the service.
2236
+ #
2237
+ # * If you omit an existing `HealthCheckCustomConfig` configuration from
2238
+ # an `UpdateService` request, the configuration is not deleted from
2239
+ # the service.
1457
2240
  #
1458
- # When you update the TTL setting for a service, AWS Cloud Map also
1459
- # updates the corresponding settings in all the records and health
1460
- # checks that were created by using the specified service.
2241
+ # When you update settings for a service, AWS Cloud Map also updates the
2242
+ # corresponding settings in all the records and health checks that were
2243
+ # created by using the specified service.
1461
2244
  #
1462
2245
  # @option params [required, String] :id
1463
2246
  # The ID of the service that you want to update.
@@ -1469,13 +2252,42 @@ module Aws::ServiceDiscovery
1469
2252
  #
1470
2253
  # * {Types::UpdateServiceResponse#operation_id #operation_id} => String
1471
2254
  #
2255
+ #
2256
+ # @example Example: UpdateService Example
2257
+ #
2258
+ # # This example submits a request to replace the DnsConfig and HealthCheckConfig settings of a specified service.
2259
+ #
2260
+ # resp = client.update_service({
2261
+ # id: "srv-e4anhexample0004",
2262
+ # service: {
2263
+ # dns_config: {
2264
+ # dns_records: [
2265
+ # {
2266
+ # ttl: 60,
2267
+ # type: "A",
2268
+ # },
2269
+ # ],
2270
+ # },
2271
+ # health_check_config: {
2272
+ # failure_threshold: 2,
2273
+ # resource_path: "/",
2274
+ # type: "HTTP",
2275
+ # },
2276
+ # },
2277
+ # })
2278
+ #
2279
+ # resp.to_h outputs the following:
2280
+ # {
2281
+ # operation_id: "m35hsdrkxwjffm3xef4bxyy6vc3ewakx-jdn3y5g5",
2282
+ # }
2283
+ #
1472
2284
  # @example Request syntax with placeholder values
1473
2285
  #
1474
2286
  # resp = client.update_service({
1475
2287
  # id: "ResourceId", # required
1476
2288
  # service: { # required
1477
2289
  # description: "ResourceDescription",
1478
- # dns_config: { # required
2290
+ # dns_config: {
1479
2291
  # dns_records: [ # required
1480
2292
  # {
1481
2293
  # type: "SRV", # required, accepts SRV, A, AAAA, CNAME
@@ -1517,7 +2329,7 @@ module Aws::ServiceDiscovery
1517
2329
  params: params,
1518
2330
  config: config)
1519
2331
  context[:gem_name] = 'aws-sdk-servicediscovery'
1520
- context[:gem_version] = '1.19.0'
2332
+ context[:gem_version] = '1.24.0'
1521
2333
  Seahorse::Client::Request.new(handlers, context)
1522
2334
  end
1523
2335