aws-sdk-servicediscovery 1.23.0 → 1.28.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
2
  SHA256:
3
- metadata.gz: 288018fa5ba020f7b997ec7874dba2796ff45d4cff74a7c865ff09e95a3ceeb9
4
- data.tar.gz: 4b0b9045aa90813bbf97499dbac3eba9e6017c61d5ab9dd4bdbb67a8d4924fa9
3
+ metadata.gz: 8cf2b1138af75ced4032c47b5a4a9412e04f576d32de10a746ee42efc79ee182
4
+ data.tar.gz: 7c3cc6d31621dbe71be1f905e929ad16091208f4fd9350da24d281e1554c336a
5
5
  SHA512:
6
- metadata.gz: 60d6fc999006b89a816f9d0ffb14050bb45ff61ed4e4e5cf789e89f9a08ccf4a7d59cfdbc209984bee63cc38db7c647e3c65c4c2aa367c838f3d6b2571831608
7
- data.tar.gz: d55ed05fe7daa5bc11c97cab0cf269ae2f72810689cebb9a94e5a746940e6112ca754bc77faef95a9c8129cab6d7b0a770d3990a962c809790932b52c60e23de
6
+ metadata.gz: 5e6b81f4ac2ab800f898df508b8339a5a2ee96bd63eaac533f06b84cdb7fed86a5d972813d5483f7320789e8d8839857c9445b0c04a615ed740203a052194894
7
+ data.tar.gz: 5421aa11b5168d8592e57f1cae9be0cd806cd86498eada98c77093dcbda15efb10dc398c8edc01b0ab0b90032eff7492d8f53cd4dac46eb3e42f3c6b7919852a
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -42,9 +44,9 @@ require_relative 'aws-sdk-servicediscovery/customizations'
42
44
  #
43
45
  # See {Errors} for more information.
44
46
  #
45
- # @service
47
+ # @!group service
46
48
  module Aws::ServiceDiscovery
47
49
 
48
- GEM_VERSION = '1.23.0'
50
+ GEM_VERSION = '1.28.0'
49
51
 
50
52
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -24,6 +26,7 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
26
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
30
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
31
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
29
32
 
@@ -69,6 +72,7 @@ module Aws::ServiceDiscovery
69
72
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
70
73
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
71
74
  add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
72
76
  add_plugin(Aws::Plugins::SignatureV4)
73
77
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
74
78
 
@@ -81,13 +85,28 @@ module Aws::ServiceDiscovery
81
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
82
86
  # credentials.
83
87
  #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
84
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
85
103
  # from an EC2 IMDS on an EC2 instance.
86
104
  #
87
- # * `Aws::SharedCredentials` - Used for loading credentials from a
88
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
89
107
  #
90
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
91
110
  #
92
111
  # When `:credentials` are not configured directly, the following
93
112
  # locations will be searched for credentials:
@@ -97,10 +116,10 @@ module Aws::ServiceDiscovery
97
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
98
117
  # * `~/.aws/credentials`
99
118
  # * `~/.aws/config`
100
- # * EC2 IMDS instance profile - When used by default, the timeouts are
101
- # very aggressive. Construct and pass an instance of
102
- # `Aws::InstanceProfileCredentails` to enable retries and extended
103
- # timeouts.
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
104
123
  #
105
124
  # @option options [required, String] :region
106
125
  # The AWS region to connect to. The configured `:region` is
@@ -161,7 +180,7 @@ module Aws::ServiceDiscovery
161
180
  # @option options [String] :endpoint
162
181
  # The client endpoint is normally constructed from the `:region`
163
182
  # option. You should only configure an `:endpoint` when connecting
164
- # to test endpoints. This should be a valid HTTP(S) URI.
183
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
165
184
  #
166
185
  # @option options [Integer] :endpoint_cache_max_entries (1000)
167
186
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -322,8 +341,8 @@ module Aws::ServiceDiscovery
322
341
  # an HTTP namespace can be discovered using a `DiscoverInstances`
323
342
  # request but can't be discovered using DNS.
324
343
  #
325
- # For the current limit on the number of namespaces that you can create
326
- # using the same AWS account, see [AWS Cloud Map Limits][1] in the *AWS
344
+ # For the current quota on the number of namespaces that you can create
345
+ # using the same AWS account, see [AWS Cloud Map quotas][1] in the *AWS
327
346
  # Cloud Map Developer Guide*.
328
347
  #
329
348
  #
@@ -345,16 +364,44 @@ module Aws::ServiceDiscovery
345
364
  # @option params [String] :description
346
365
  # A description for the namespace.
347
366
  #
367
+ # @option params [Array<Types::Tag>] :tags
368
+ # The tags to add to the namespace. Each tag consists of a key and an
369
+ # optional value, both of which you define. Tag keys can have a maximum
370
+ # character length of 128 characters, and tag values can have a maximum
371
+ # length of 256 characters.
372
+ #
348
373
  # @return [Types::CreateHttpNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
349
374
  #
350
375
  # * {Types::CreateHttpNamespaceResponse#operation_id #operation_id} => String
351
376
  #
377
+ #
378
+ # @example Example: CreateHttpNamespace example
379
+ #
380
+ # # This example creates an HTTP namespace.
381
+ #
382
+ # resp = client.create_http_namespace({
383
+ # creator_request_id: "example-creator-request-id-0001",
384
+ # description: "Example.com AWS Cloud Map HTTP Namespace",
385
+ # name: "example-http.com",
386
+ # })
387
+ #
388
+ # resp.to_h outputs the following:
389
+ # {
390
+ # operation_id: "httpvoqozuhfet5kzxoxg-a-response-example",
391
+ # }
392
+ #
352
393
  # @example Request syntax with placeholder values
353
394
  #
354
395
  # resp = client.create_http_namespace({
355
396
  # name: "NamespaceName", # required
356
397
  # creator_request_id: "ResourceId",
357
398
  # description: "ResourceDescription",
399
+ # tags: [
400
+ # {
401
+ # key: "TagKey", # required
402
+ # value: "TagValue", # required
403
+ # },
404
+ # ],
358
405
  # })
359
406
  #
360
407
  # @example Response structure
@@ -374,7 +421,7 @@ module Aws::ServiceDiscovery
374
421
  # inside a specified Amazon VPC. The namespace defines your service
375
422
  # naming scheme. For example, if you name your namespace `example.com`
376
423
  # and name your service `backend`, the resulting DNS name for the
377
- # service will be `backend.example.com`. For the current limit on the
424
+ # service will be `backend.example.com`. For the current quota on the
378
425
  # number of namespaces that you can create using the same AWS account,
379
426
  # see [AWS Cloud Map Limits][1] in the *AWS Cloud Map Developer Guide*.
380
427
  #
@@ -385,7 +432,7 @@ module Aws::ServiceDiscovery
385
432
  # @option params [required, String] :name
386
433
  # The name that you want to assign to this namespace. When you create a
387
434
  # private DNS namespace, AWS Cloud Map automatically creates an Amazon
388
- # Route 53 private hosted zone that has the same name as the namespace.
435
+ # Route 53 private hosted zone that has the same name as the namespace.
389
436
  #
390
437
  # @option params [String] :creator_request_id
391
438
  # A unique string that identifies the request and that allows failed
@@ -403,6 +450,12 @@ module Aws::ServiceDiscovery
403
450
  # The ID of the Amazon VPC that you want to associate the namespace
404
451
  # with.
405
452
  #
453
+ # @option params [Array<Types::Tag>] :tags
454
+ # The tags to add to the namespace. Each tag consists of a key and an
455
+ # optional value, both of which you define. Tag keys can have a maximum
456
+ # character length of 128 characters, and tag values can have a maximum
457
+ # length of 256 characters.
458
+ #
406
459
  # @return [Types::CreatePrivateDnsNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
407
460
  #
408
461
  # * {Types::CreatePrivateDnsNamespaceResponse#operation_id #operation_id} => String
@@ -430,6 +483,12 @@ module Aws::ServiceDiscovery
430
483
  # creator_request_id: "ResourceId",
431
484
  # description: "ResourceDescription",
432
485
  # vpc: "ResourceId", # required
486
+ # tags: [
487
+ # {
488
+ # key: "TagKey", # required
489
+ # value: "TagValue", # required
490
+ # },
491
+ # ],
433
492
  # })
434
493
  #
435
494
  # @example Response structure
@@ -449,7 +508,7 @@ module Aws::ServiceDiscovery
449
508
  # internet. The namespace defines your service naming scheme. For
450
509
  # example, if you name your namespace `example.com` and name your
451
510
  # service `backend`, the resulting DNS name for the service will be
452
- # `backend.example.com`. For the current limit on the number of
511
+ # `backend.example.com`. For the current quota on the number of
453
512
  # namespaces that you can create using the same AWS account, see [AWS
454
513
  # Cloud Map Limits][1] in the *AWS Cloud Map Developer Guide*.
455
514
  #
@@ -472,16 +531,44 @@ module Aws::ServiceDiscovery
472
531
  # @option params [String] :description
473
532
  # A description for the namespace.
474
533
  #
534
+ # @option params [Array<Types::Tag>] :tags
535
+ # The tags to add to the namespace. Each tag consists of a key and an
536
+ # optional value, both of which you define. Tag keys can have a maximum
537
+ # character length of 128 characters, and tag values can have a maximum
538
+ # length of 256 characters.
539
+ #
475
540
  # @return [Types::CreatePublicDnsNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
476
541
  #
477
542
  # * {Types::CreatePublicDnsNamespaceResponse#operation_id #operation_id} => String
478
543
  #
544
+ #
545
+ # @example Example: CreatePublicDnsNamespace example
546
+ #
547
+ # # This example creates a public namespace based on DNS.
548
+ #
549
+ # resp = client.create_public_dns_namespace({
550
+ # creator_request_id: "example-creator-request-id-0003",
551
+ # description: "Example.com AWS Cloud Map Public DNS Namespace",
552
+ # name: "example-public-dns.com",
553
+ # })
554
+ #
555
+ # resp.to_h outputs the following:
556
+ # {
557
+ # operation_id: "dns2voqozuhfet5kzxoxg-a-response-example",
558
+ # }
559
+ #
479
560
  # @example Request syntax with placeholder values
480
561
  #
481
562
  # resp = client.create_public_dns_namespace({
482
563
  # name: "NamespaceName", # required
483
564
  # creator_request_id: "ResourceId",
484
565
  # description: "ResourceDescription",
566
+ # tags: [
567
+ # {
568
+ # key: "TagKey", # required
569
+ # value: "TagValue", # required
570
+ # },
571
+ # ],
485
572
  # })
486
573
  #
487
574
  # @example Response structure
@@ -501,17 +588,17 @@ module Aws::ServiceDiscovery
501
588
  # entities:
502
589
  #
503
590
  # * For public and private DNS namespaces, one of the following
504
- # combinations of DNS records in Amazon Route 53:
591
+ # combinations of DNS records in Amazon Route 53:
505
592
  #
506
- # * A
593
+ # * `A`
507
594
  #
508
- # * AAAA
595
+ # * `AAAA`
509
596
  #
510
- # * A and AAAA
597
+ # * `A` and `AAAA`
511
598
  #
512
- # * SRV
599
+ # * `SRV`
513
600
  #
514
- # * CNAME
601
+ # * `CNAME`
515
602
  #
516
603
  # * Optionally, a health check
517
604
  #
@@ -519,7 +606,7 @@ module Aws::ServiceDiscovery
519
606
  # request, and AWS Cloud Map uses the values in the configuration to
520
607
  # create the specified entities.
521
608
  #
522
- # For the current limit on the number of instances that you can register
609
+ # For the current quota on the number of instances that you can register
523
610
  # using the same namespace and using the same service, see [AWS Cloud
524
611
  # Map Limits][2] in the *AWS Cloud Map Developer Guide*.
525
612
  #
@@ -531,17 +618,17 @@ module Aws::ServiceDiscovery
531
618
  # @option params [required, String] :name
532
619
  # The name that you want to assign to the service.
533
620
  #
534
- # If you want AWS Cloud Map to create an SRV record when you register an
535
- # instance, and if you're using a system that requires a specific SRV
536
- # format, such as [HAProxy][1], specify the following for `Name`\:
621
+ # If you want AWS Cloud Map to create an `SRV` record when you register
622
+ # an instance, and if you're using a system that requires a specific
623
+ # `SRV` format, such as [HAProxy][1], specify the following for `Name`\:
537
624
  #
538
625
  # * Start the name with an underscore (\_), such as `_exampleservice`
539
626
  #
540
627
  # * End the name with *.\_protocol*, such as `._tcp`
541
628
  #
542
- # When you register an instance, AWS Cloud Map creates an SRV record and
543
- # assigns a name to the record by concatenating the service name and the
544
- # namespace name, for example:
629
+ # When you register an instance, AWS Cloud Map creates an `SRV` record
630
+ # and assigns a name to the record by concatenating the service name and
631
+ # the namespace name, for example:
545
632
  #
546
633
  # `_exampleservice._tcp.example.com`
547
634
  #
@@ -565,15 +652,15 @@ module Aws::ServiceDiscovery
565
652
  # A description for the service.
566
653
  #
567
654
  # @option params [Types::DnsConfig] :dns_config
568
- # A complex type that contains information about the Amazon Route 53
655
+ # A complex type that contains information about the Amazon Route 53
569
656
  # records that you want AWS Cloud Map to create when you register an
570
657
  # instance.
571
658
  #
572
659
  # @option params [Types::HealthCheckConfig] :health_check_config
573
660
  # *Public DNS and HTTP namespaces only.* A complex type that contains
574
- # settings for an optional Route 53 health check. If you specify
661
+ # settings for an optional Route 53 health check. If you specify
575
662
  # settings for a health check, AWS Cloud Map associates the health check
576
- # with all the Route 53 DNS records that you specify in `DnsConfig`.
663
+ # with all the Route 53 DNS records that you specify in `DnsConfig`.
577
664
  #
578
665
  # If you specify a health check configuration, you can specify either
579
666
  # `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
@@ -595,6 +682,12 @@ module Aws::ServiceDiscovery
595
682
  # You can't add, update, or delete a `HealthCheckCustomConfig`
596
683
  # configuration from an existing service.
597
684
  #
685
+ # @option params [Array<Types::Tag>] :tags
686
+ # The tags to add to the service. Each tag consists of a key and an
687
+ # optional value, both of which you define. Tag keys can have a maximum
688
+ # character length of 128 characters, and tag values can have a maximum
689
+ # length of 256 characters.
690
+ #
598
691
  # @return [Types::CreateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
599
692
  #
600
693
  # * {Types::CreateServiceResponse#service #service} => Types::Service
@@ -667,6 +760,12 @@ module Aws::ServiceDiscovery
667
760
  # health_check_custom_config: {
668
761
  # failure_threshold: 1,
669
762
  # },
763
+ # tags: [
764
+ # {
765
+ # key: "TagKey", # required
766
+ # value: "TagValue", # required
767
+ # },
768
+ # ],
670
769
  # })
671
770
  #
672
771
  # @example Response structure
@@ -777,7 +876,7 @@ module Aws::ServiceDiscovery
777
876
  req.send_request(options)
778
877
  end
779
878
 
780
- # Deletes the Amazon Route 53 DNS records and health check, if any, that
879
+ # Deletes the Amazon Route 53 DNS records and health check, if any, that
781
880
  # AWS Cloud Map created for the specified instance.
782
881
  #
783
882
  # @option params [required, String] :service_id
@@ -933,6 +1032,30 @@ module Aws::ServiceDiscovery
933
1032
  #
934
1033
  # * {Types::GetInstanceResponse#instance #instance} => Types::Instance
935
1034
  #
1035
+ #
1036
+ # @example Example: GetInstance example
1037
+ #
1038
+ # # This example gets information about a specified instance.
1039
+ #
1040
+ # resp = client.get_instance({
1041
+ # instance_id: "i-abcd1234",
1042
+ # service_id: "srv-e4anhexample0004",
1043
+ # })
1044
+ #
1045
+ # resp.to_h outputs the following:
1046
+ # {
1047
+ # instance: {
1048
+ # attributes: {
1049
+ # "AWS_INSTANCE_IPV4" => "192.0.2.44",
1050
+ # "AWS_INSTANCE_PORT" => "80",
1051
+ # "color" => "green",
1052
+ # "region" => "us-west-2",
1053
+ # "stage" => "beta",
1054
+ # },
1055
+ # id: "i-abcd1234",
1056
+ # },
1057
+ # }
1058
+ #
936
1059
  # @example Request syntax with placeholder values
937
1060
  #
938
1061
  # resp = client.get_instance({
@@ -1004,6 +1127,23 @@ module Aws::ServiceDiscovery
1004
1127
  #
1005
1128
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1006
1129
  #
1130
+ #
1131
+ # @example Example: GetInstancesHealthStatus example
1132
+ #
1133
+ # # This example gets the current health status of one or more instances that are associate with a specified service.
1134
+ #
1135
+ # resp = client.get_instances_health_status({
1136
+ # service_id: "srv-e4anhexample0004",
1137
+ # })
1138
+ #
1139
+ # resp.to_h outputs the following:
1140
+ # {
1141
+ # status: {
1142
+ # "i-abcd1234" => "HEALTHY",
1143
+ # "i-abcd1235" => "UNHEALTHY",
1144
+ # },
1145
+ # }
1146
+ #
1007
1147
  # @example Request syntax with placeholder values
1008
1148
  #
1009
1149
  # resp = client.get_instances_health_status({
@@ -1037,6 +1177,35 @@ module Aws::ServiceDiscovery
1037
1177
  #
1038
1178
  # * {Types::GetNamespaceResponse#namespace #namespace} => Types::Namespace
1039
1179
  #
1180
+ #
1181
+ # @example Example: GetNamespace example
1182
+ #
1183
+ # # This example gets information about a specified namespace.
1184
+ #
1185
+ # resp = client.get_namespace({
1186
+ # id: "ns-e4anhexample0004",
1187
+ # })
1188
+ #
1189
+ # resp.to_h outputs the following:
1190
+ # {
1191
+ # namespace: {
1192
+ # arn: "arn:aws:servicediscovery:us-west-2: 123456789120:namespace/ns-e1tpmexample0001",
1193
+ # create_date: Time.parse("20181118T211712Z"),
1194
+ # creator_request_id: "example-creator-request-id-0001",
1195
+ # description: "Example.com AWS Cloud Map HTTP Namespace",
1196
+ # id: "ns-e1tpmexample0001",
1197
+ # name: "example-http.com",
1198
+ # properties: {
1199
+ # dns_properties: {
1200
+ # },
1201
+ # http_properties: {
1202
+ # http_name: "example-http.com",
1203
+ # },
1204
+ # },
1205
+ # type: "HTTP",
1206
+ # },
1207
+ # }
1208
+ #
1040
1209
  # @example Request syntax with placeholder values
1041
1210
  #
1042
1211
  # resp = client.get_namespace({
@@ -1143,6 +1312,33 @@ module Aws::ServiceDiscovery
1143
1312
  #
1144
1313
  # * {Types::GetServiceResponse#service #service} => Types::Service
1145
1314
  #
1315
+ #
1316
+ # @example Example: GetService Example
1317
+ #
1318
+ # # This example gets the settings for a specified service.
1319
+ #
1320
+ # resp = client.get_service({
1321
+ # id: "srv-e4anhexample0004",
1322
+ # })
1323
+ #
1324
+ # resp.to_h outputs the following:
1325
+ # {
1326
+ # service: {
1327
+ # arn: "arn:aws:servicediscovery:us-west-2:123456789120:service/srv-e4anhexample0004",
1328
+ # create_date: Time.parse("20181118T211707Z"),
1329
+ # creator_request_id: "example-creator-request-id-0004",
1330
+ # description: "Example.com AWS Cloud Map HTTP Service",
1331
+ # health_check_config: {
1332
+ # failure_threshold: 3,
1333
+ # resource_path: "/",
1334
+ # type: "HTTPS",
1335
+ # },
1336
+ # id: "srv-e4anhexample0004",
1337
+ # name: "example-http-service",
1338
+ # namespace_id: "ns-e4anhexample0004",
1339
+ # },
1340
+ # }
1341
+ #
1146
1342
  # @example Request syntax with placeholder values
1147
1343
  #
1148
1344
  # resp = client.get_service({
@@ -1421,6 +1617,42 @@ module Aws::ServiceDiscovery
1421
1617
  #
1422
1618
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1423
1619
  #
1620
+ #
1621
+ # @example Example: ListOperations Example
1622
+ #
1623
+ # # This example gets the operations that have a STATUS of either PENDING or SUCCESS.
1624
+ #
1625
+ # resp = client.list_operations({
1626
+ # filters: [
1627
+ # {
1628
+ # condition: "IN",
1629
+ # name: "STATUS",
1630
+ # values: [
1631
+ # "PENDING",
1632
+ # "SUCCESS",
1633
+ # ],
1634
+ # },
1635
+ # ],
1636
+ # })
1637
+ #
1638
+ # resp.to_h outputs the following:
1639
+ # {
1640
+ # operations: [
1641
+ # {
1642
+ # id: "76yy8ovhpdz0plmjzbsnqgnrqvpv2qdt-kexample",
1643
+ # status: "SUCCESS",
1644
+ # },
1645
+ # {
1646
+ # id: "prysnyzpji3u2ciy45nke83x2zanl7yk-dexample",
1647
+ # status: "SUCCESS",
1648
+ # },
1649
+ # {
1650
+ # id: "ko4ekftir7kzlbechsh7xvcdgcpk66gh-7example",
1651
+ # status: "PENDING",
1652
+ # },
1653
+ # ],
1654
+ # }
1655
+ #
1424
1656
  # @example Request syntax with placeholder values
1425
1657
  #
1426
1658
  # resp = client.list_operations({
@@ -1560,6 +1792,60 @@ module Aws::ServiceDiscovery
1560
1792
  req.send_request(options)
1561
1793
  end
1562
1794
 
1795
+ # Lists tags for the specified resource.
1796
+ #
1797
+ # @option params [required, String] :resource_arn
1798
+ # The Amazon Resource Name (ARN) of the resource that you want to
1799
+ # retrieve tags for.
1800
+ #
1801
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1802
+ #
1803
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
1804
+ #
1805
+ #
1806
+ # @example Example: ListTagsForResource example
1807
+ #
1808
+ # # This example lists the tags of a resource.
1809
+ #
1810
+ # resp = client.list_tags_for_resource({
1811
+ # resource_arn: "arn:aws:servicediscovery:us-east-1:123456789012:namespace/ns-ylexjili4cdxy3xm",
1812
+ # })
1813
+ #
1814
+ # resp.to_h outputs the following:
1815
+ # {
1816
+ # tags: [
1817
+ # {
1818
+ # key: "Project",
1819
+ # value: "Zeta",
1820
+ # },
1821
+ # {
1822
+ # key: "Department",
1823
+ # value: "Engineering",
1824
+ # },
1825
+ # ],
1826
+ # }
1827
+ #
1828
+ # @example Request syntax with placeholder values
1829
+ #
1830
+ # resp = client.list_tags_for_resource({
1831
+ # resource_arn: "AmazonResourceName", # required
1832
+ # })
1833
+ #
1834
+ # @example Response structure
1835
+ #
1836
+ # resp.tags #=> Array
1837
+ # resp.tags[0].key #=> String
1838
+ # resp.tags[0].value #=> String
1839
+ #
1840
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListTagsForResource AWS API Documentation
1841
+ #
1842
+ # @overload list_tags_for_resource(params = {})
1843
+ # @param [Hash] params ({})
1844
+ def list_tags_for_resource(params = {}, options = {})
1845
+ req = build_request(:list_tags_for_resource, params)
1846
+ req.send_request(options)
1847
+ end
1848
+
1563
1849
  # Creates or updates one or more records and, optionally, creates a
1564
1850
  # health check based on the settings in a specified service. When you
1565
1851
  # submit a `RegisterInstance` request, the following occurs:
@@ -1590,7 +1876,7 @@ module Aws::ServiceDiscovery
1590
1876
  # * **If you didn't specify a health check configuration**\: returns
1591
1877
  # all the records
1592
1878
  #
1593
- # For the current limit on the number of instances that you can register
1879
+ # For the current quota on the number of instances that you can register
1594
1880
  # using the same namespace and using the same service, see [AWS Cloud
1595
1881
  # Map Limits][2] in the *AWS Cloud Map Developer Guide*.
1596
1882
  #
@@ -1608,8 +1894,8 @@ module Aws::ServiceDiscovery
1608
1894
  # following:
1609
1895
  #
1610
1896
  # * If the service that is specified by `ServiceId` includes settings
1611
- # for an SRV record, the value of `InstanceId` is automatically
1612
- # included as part of the value for the SRV record. For more
1897
+ # for an `SRV` record, the value of `InstanceId` is automatically
1898
+ # included as part of the value for the `SRV` record. For more
1613
1899
  # information, see [DnsRecord &gt; Type][1].
1614
1900
  #
1615
1901
  # * You can use this value to update an existing instance.
@@ -1656,33 +1942,41 @@ module Aws::ServiceDiscovery
1656
1942
  #
1657
1943
  # **AWS\_ALIAS\_DNS\_NAME**
1658
1944
  #
1659
- # ****
1660
- #
1661
- # If you want AWS Cloud Map to create an Amazon Route 53 alias record
1945
+ # If you want AWS Cloud Map to create an Amazon Route 53 alias record
1662
1946
  # that routes traffic to an Elastic Load Balancing load balancer,
1663
1947
  # specify the DNS name that is associated with the load balancer. For
1664
1948
  # information about how to get the DNS name, see "DNSName" in the
1665
- # topic [AliasTarget][1] in the *Route 53 API Reference*.
1949
+ # topic [AliasTarget][1] in the *Route 53 API Reference*.
1666
1950
  #
1667
1951
  # Note the following:
1668
1952
  #
1669
1953
  # * The configuration for the service that is specified by `ServiceId`
1670
- # must include settings for an A record, an AAAA record, or both.
1954
+ # must include settings for an `A` record, an `AAAA` record, or both.
1671
1955
  #
1672
1956
  # * In the service that is specified by `ServiceId`, the value of
1673
1957
  # `RoutingPolicy` must be `WEIGHTED`.
1674
1958
  #
1675
1959
  # * If the service that is specified by `ServiceId` includes
1676
- # `HealthCheckConfig` settings, AWS Cloud Map will create the Route 53
1960
+ # `HealthCheckConfig` settings, AWS Cloud Map will create the Route 53
1677
1961
  # health check, but it won't associate the health check with the
1678
1962
  # alias record.
1679
1963
  #
1680
1964
  # * Auto naming currently doesn't support creating alias records that
1681
- # route traffic to AWS resources other than ELB load balancers.
1965
+ # route traffic to AWS resources other than Elastic Load Balancing
1966
+ # load balancers.
1682
1967
  #
1683
1968
  # * If you specify a value for `AWS_ALIAS_DNS_NAME`, don't specify
1684
1969
  # values for any of the `AWS_INSTANCE` attributes.
1685
1970
  #
1971
+ # **AWS\_EC2\_INSTANCE\_ID**
1972
+ #
1973
+ # *HTTP namespaces only.* The Amazon EC2 instance ID for the instance.
1974
+ # If the `AWS_EC2_INSTANCE_ID` attribute is specified, then the only
1975
+ # other attribute that can be specified is `AWS_INIT_HEALTH_STATUS`.
1976
+ # When the `AWS_EC2_INSTANCE_ID` attribute is specified, then the
1977
+ # `AWS_INSTANCE_IPV4` attribute will be filled out with the primary
1978
+ # private IPv4 address.
1979
+ #
1686
1980
  # **AWS\_INIT\_HEALTH\_STATUS**
1687
1981
  #
1688
1982
  # If the service configuration includes `HealthCheckCustomConfig`, you
@@ -1693,51 +1987,53 @@ module Aws::ServiceDiscovery
1693
1987
  #
1694
1988
  # **AWS\_INSTANCE\_CNAME**
1695
1989
  #
1696
- # If the service configuration includes a CNAME record, the domain name
1697
- # that you want Route 53 to return in response to DNS queries, for
1990
+ # If the service configuration includes a `CNAME` record, the domain
1991
+ # name that you want Route 53 to return in response to DNS queries, for
1698
1992
  # example, `example.com`.
1699
1993
  #
1700
1994
  # This value is required if the service specified by `ServiceId`
1701
- # includes settings for an CNAME record.
1995
+ # includes settings for an `CNAME` record.
1702
1996
  #
1703
1997
  # **AWS\_INSTANCE\_IPV4**
1704
1998
  #
1705
- # If the service configuration includes an A record, the IPv4 address
1706
- # that you want Route 53 to return in response to DNS queries, for
1999
+ # If the service configuration includes an `A` record, the IPv4 address
2000
+ # that you want Route 53 to return in response to DNS queries, for
1707
2001
  # example, `192.0.2.44`.
1708
2002
  #
1709
2003
  # This value is required if the service specified by `ServiceId`
1710
- # includes settings for an A record. If the service includes settings
1711
- # for an SRV record, you must specify a value for `AWS_INSTANCE_IPV4`,
2004
+ # includes settings for an `A` record. If the service includes settings
2005
+ # for an `SRV` record, you must specify a value for `AWS_INSTANCE_IPV4`,
1712
2006
  # `AWS_INSTANCE_IPV6`, or both.
1713
2007
  #
1714
2008
  # **AWS\_INSTANCE\_IPV6**
1715
2009
  #
1716
- # If the service configuration includes an AAAA record, the IPv6 address
1717
- # that you want Route 53 to return in response to DNS queries, for
1718
- # example, `2001:0db8:85a3:0000:0000:abcd:0001:2345`.
2010
+ # If the service configuration includes an `AAAA` record, the IPv6
2011
+ # address that you want Route 53 to return in response to DNS queries,
2012
+ # for example, `2001:0db8:85a3:0000:0000:abcd:0001:2345`.
1719
2013
  #
1720
2014
  # This value is required if the service specified by `ServiceId`
1721
- # includes settings for an AAAA record. If the service includes settings
1722
- # for an SRV record, you must specify a value for `AWS_INSTANCE_IPV4`,
1723
- # `AWS_INSTANCE_IPV6`, or both.
2015
+ # includes settings for an `AAAA` record. If the service includes
2016
+ # settings for an `SRV` record, you must specify a value for
2017
+ # `AWS_INSTANCE_IPV4`, `AWS_INSTANCE_IPV6`, or both.
1724
2018
  #
1725
2019
  # **AWS\_INSTANCE\_PORT**
1726
2020
  #
1727
- # If the service includes an SRV record, the value that you want Route
1728
- # 53 to return for the port.
2021
+ # If the service includes an `SRV` record, the value that you want
2022
+ # Route 53 to return for the port.
1729
2023
  #
1730
2024
  # If the service includes `HealthCheckConfig`, the port on the endpoint
1731
- # that you want Route 53 to send requests to.
2025
+ # that you want Route 53 to send requests to.
1732
2026
  #
1733
- # This value is required if you specified settings for an SRV record or
1734
- # a Route 53 health check when you created the service.
2027
+ # This value is required if you specified settings for an `SRV` record
2028
+ # or a Route 53 health check when you created the service.
1735
2029
  #
1736
2030
  # **Custom attributes**
1737
2031
  #
1738
2032
  # You can add up to 30 custom attributes. For each key-value pair, the
1739
2033
  # maximum length of the attribute name is 255 characters, and the
1740
- # maximum length of the attribute value is 1,024 characters.
2034
+ # maximum length of the attribute value is 1,024 characters. The total
2035
+ # size of all provided attributes (sum of all keys and values) must not
2036
+ # exceed 5,000 characters.
1741
2037
  #
1742
2038
  #
1743
2039
  #
@@ -1791,13 +2087,114 @@ module Aws::ServiceDiscovery
1791
2087
  req.send_request(options)
1792
2088
  end
1793
2089
 
2090
+ # Adds one or more tags to the specified resource.
2091
+ #
2092
+ # @option params [required, String] :resource_arn
2093
+ # The Amazon Resource Name (ARN) of the resource that you want to
2094
+ # retrieve tags for.
2095
+ #
2096
+ # @option params [required, Array<Types::Tag>] :tags
2097
+ # The tags to add to the specified resource. Specifying the tag key is
2098
+ # required. You can set the value of a tag to an empty string, but you
2099
+ # can't set the value of a tag to null.
2100
+ #
2101
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2102
+ #
2103
+ #
2104
+ # @example Example: TagResource example
2105
+ #
2106
+ # # This example adds "Department" and "Project" tags to a resource.
2107
+ #
2108
+ # resp = client.tag_resource({
2109
+ # resource_arn: "arn:aws:servicediscovery:us-east-1:123456789012:namespace/ns-ylexjili4cdxy3xm",
2110
+ # tags: [
2111
+ # {
2112
+ # key: "Department",
2113
+ # value: "Engineering",
2114
+ # },
2115
+ # {
2116
+ # key: "Project",
2117
+ # value: "Zeta",
2118
+ # },
2119
+ # ],
2120
+ # })
2121
+ #
2122
+ # resp.to_h outputs the following:
2123
+ # {
2124
+ # }
2125
+ #
2126
+ # @example Request syntax with placeholder values
2127
+ #
2128
+ # resp = client.tag_resource({
2129
+ # resource_arn: "AmazonResourceName", # required
2130
+ # tags: [ # required
2131
+ # {
2132
+ # key: "TagKey", # required
2133
+ # value: "TagValue", # required
2134
+ # },
2135
+ # ],
2136
+ # })
2137
+ #
2138
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/TagResource AWS API Documentation
2139
+ #
2140
+ # @overload tag_resource(params = {})
2141
+ # @param [Hash] params ({})
2142
+ def tag_resource(params = {}, options = {})
2143
+ req = build_request(:tag_resource, params)
2144
+ req.send_request(options)
2145
+ end
2146
+
2147
+ # Removes one or more tags from the specified resource.
2148
+ #
2149
+ # @option params [required, String] :resource_arn
2150
+ # The Amazon Resource Name (ARN) of the resource that you want to
2151
+ # retrieve tags for.
2152
+ #
2153
+ # @option params [required, Array<String>] :tag_keys
2154
+ # The tag keys to remove from the specified resource.
2155
+ #
2156
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2157
+ #
2158
+ #
2159
+ # @example Example: UntagResource example
2160
+ #
2161
+ # # This example removes the "Department" and "Project" tags from a resource.
2162
+ #
2163
+ # resp = client.untag_resource({
2164
+ # resource_arn: "arn:aws:servicediscovery:us-east-1:123456789012:namespace/ns-ylexjili4cdxy3xm",
2165
+ # tag_keys: [
2166
+ # "Project",
2167
+ # "Department",
2168
+ # ],
2169
+ # })
2170
+ #
2171
+ # resp.to_h outputs the following:
2172
+ # {
2173
+ # }
2174
+ #
2175
+ # @example Request syntax with placeholder values
2176
+ #
2177
+ # resp = client.untag_resource({
2178
+ # resource_arn: "AmazonResourceName", # required
2179
+ # tag_keys: ["TagKey"], # required
2180
+ # })
2181
+ #
2182
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UntagResource AWS API Documentation
2183
+ #
2184
+ # @overload untag_resource(params = {})
2185
+ # @param [Hash] params ({})
2186
+ def untag_resource(params = {}, options = {})
2187
+ req = build_request(:untag_resource, params)
2188
+ req.send_request(options)
2189
+ end
2190
+
1794
2191
  # Submits a request to change the health status of a custom health check
1795
2192
  # to healthy or unhealthy.
1796
2193
  #
1797
2194
  # You can use `UpdateInstanceCustomHealthStatus` to change the status
1798
2195
  # only for custom health checks, which you define using
1799
2196
  # `HealthCheckCustomConfig` when you create a service. You can't use it
1800
- # to change the status for Route 53 health checks, which you define
2197
+ # to change the status for Route 53 health checks, which you define
1801
2198
  # using `HealthCheckConfig`.
1802
2199
  #
1803
2200
  # For more information, see [HealthCheckCustomConfig][1].
@@ -1818,6 +2215,18 @@ module Aws::ServiceDiscovery
1818
2215
  #
1819
2216
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1820
2217
  #
2218
+ #
2219
+ # @example Example: UpdateInstanceCustomHealthStatus Example
2220
+ #
2221
+ # # This example submits a request to change the health status of an instance associated with a service with a custom health
2222
+ # # check to HEALTHY.
2223
+ #
2224
+ # resp = client.update_instance_custom_health_status({
2225
+ # instance_id: "i-abcd1234",
2226
+ # service_id: "srv-e4anhexample0004",
2227
+ # status: "HEALTHY",
2228
+ # })
2229
+ #
1821
2230
  # @example Request syntax with placeholder values
1822
2231
  #
1823
2232
  # resp = client.update_instance_custom_health_status({
@@ -1870,13 +2279,42 @@ module Aws::ServiceDiscovery
1870
2279
  #
1871
2280
  # * {Types::UpdateServiceResponse#operation_id #operation_id} => String
1872
2281
  #
2282
+ #
2283
+ # @example Example: UpdateService Example
2284
+ #
2285
+ # # This example submits a request to replace the DnsConfig and HealthCheckConfig settings of a specified service.
2286
+ #
2287
+ # resp = client.update_service({
2288
+ # id: "srv-e4anhexample0004",
2289
+ # service: {
2290
+ # dns_config: {
2291
+ # dns_records: [
2292
+ # {
2293
+ # ttl: 60,
2294
+ # type: "A",
2295
+ # },
2296
+ # ],
2297
+ # },
2298
+ # health_check_config: {
2299
+ # failure_threshold: 2,
2300
+ # resource_path: "/",
2301
+ # type: "HTTP",
2302
+ # },
2303
+ # },
2304
+ # })
2305
+ #
2306
+ # resp.to_h outputs the following:
2307
+ # {
2308
+ # operation_id: "m35hsdrkxwjffm3xef4bxyy6vc3ewakx-jdn3y5g5",
2309
+ # }
2310
+ #
1873
2311
  # @example Request syntax with placeholder values
1874
2312
  #
1875
2313
  # resp = client.update_service({
1876
2314
  # id: "ResourceId", # required
1877
2315
  # service: { # required
1878
2316
  # description: "ResourceDescription",
1879
- # dns_config: { # required
2317
+ # dns_config: {
1880
2318
  # dns_records: [ # required
1881
2319
  # {
1882
2320
  # type: "SRV", # required, accepts SRV, A, AAAA, CNAME
@@ -1918,7 +2356,7 @@ module Aws::ServiceDiscovery
1918
2356
  params: params,
1919
2357
  config: config)
1920
2358
  context[:gem_name] = 'aws-sdk-servicediscovery'
1921
- context[:gem_version] = '1.23.0'
2359
+ context[:gem_version] = '1.28.0'
1922
2360
  Seahorse::Client::Request.new(handlers, context)
1923
2361
  end
1924
2362