aws-sdk-servicediscovery 1.23.0 → 1.24.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 288018fa5ba020f7b997ec7874dba2796ff45d4cff74a7c865ff09e95a3ceeb9
4
- data.tar.gz: 4b0b9045aa90813bbf97499dbac3eba9e6017c61d5ab9dd4bdbb67a8d4924fa9
3
+ metadata.gz: 1ea6a23cdeb37419f0c80584af95ea204123d3034ef0fce80eead2c750824ad1
4
+ data.tar.gz: db78ee159f8eefc2c2c5b47c88d705ca495e72380dfdf5a46f507da2ff014cbb
5
5
  SHA512:
6
- metadata.gz: 60d6fc999006b89a816f9d0ffb14050bb45ff61ed4e4e5cf789e89f9a08ccf4a7d59cfdbc209984bee63cc38db7c647e3c65c4c2aa367c838f3d6b2571831608
7
- data.tar.gz: d55ed05fe7daa5bc11c97cab0cf269ae2f72810689cebb9a94e5a746940e6112ca754bc77faef95a9c8129cab6d7b0a770d3990a962c809790932b52c60e23de
6
+ metadata.gz: 3c2bb51c11f991d3b3a261f9b57ba555411cd68d7995e67fe07db79b3485d644b4d95f11204302ff03dcc98107fe05dd087bb04d564a870959a73f2503a16fe7
7
+ data.tar.gz: e97e1a7e84269ff6bab6bb2fe89b13e3fc7b7bf91cef85c33fdb095c4885e496c5aa122079be34be5253d2389679b4f85740d02547103992375daaf34e9748ec
@@ -45,6 +45,6 @@ require_relative 'aws-sdk-servicediscovery/customizations'
45
45
  # @service
46
46
  module Aws::ServiceDiscovery
47
47
 
48
- GEM_VERSION = '1.23.0'
48
+ GEM_VERSION = '1.24.0'
49
49
 
50
50
  end
@@ -345,16 +345,44 @@ module Aws::ServiceDiscovery
345
345
  # @option params [String] :description
346
346
  # A description for the namespace.
347
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
+ #
348
354
  # @return [Types::CreateHttpNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
349
355
  #
350
356
  # * {Types::CreateHttpNamespaceResponse#operation_id #operation_id} => String
351
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
+ #
352
374
  # @example Request syntax with placeholder values
353
375
  #
354
376
  # resp = client.create_http_namespace({
355
377
  # name: "NamespaceName", # required
356
378
  # creator_request_id: "ResourceId",
357
379
  # description: "ResourceDescription",
380
+ # tags: [
381
+ # {
382
+ # key: "TagKey", # required
383
+ # value: "TagValue", # required
384
+ # },
385
+ # ],
358
386
  # })
359
387
  #
360
388
  # @example Response structure
@@ -403,6 +431,12 @@ module Aws::ServiceDiscovery
403
431
  # The ID of the Amazon VPC that you want to associate the namespace
404
432
  # with.
405
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
+ #
406
440
  # @return [Types::CreatePrivateDnsNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
407
441
  #
408
442
  # * {Types::CreatePrivateDnsNamespaceResponse#operation_id #operation_id} => String
@@ -430,6 +464,12 @@ module Aws::ServiceDiscovery
430
464
  # creator_request_id: "ResourceId",
431
465
  # description: "ResourceDescription",
432
466
  # vpc: "ResourceId", # required
467
+ # tags: [
468
+ # {
469
+ # key: "TagKey", # required
470
+ # value: "TagValue", # required
471
+ # },
472
+ # ],
433
473
  # })
434
474
  #
435
475
  # @example Response structure
@@ -472,16 +512,44 @@ module Aws::ServiceDiscovery
472
512
  # @option params [String] :description
473
513
  # A description for the namespace.
474
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
+ #
475
521
  # @return [Types::CreatePublicDnsNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
476
522
  #
477
523
  # * {Types::CreatePublicDnsNamespaceResponse#operation_id #operation_id} => String
478
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
+ #
479
541
  # @example Request syntax with placeholder values
480
542
  #
481
543
  # resp = client.create_public_dns_namespace({
482
544
  # name: "NamespaceName", # required
483
545
  # creator_request_id: "ResourceId",
484
546
  # description: "ResourceDescription",
547
+ # tags: [
548
+ # {
549
+ # key: "TagKey", # required
550
+ # value: "TagValue", # required
551
+ # },
552
+ # ],
485
553
  # })
486
554
  #
487
555
  # @example Response structure
@@ -595,6 +663,12 @@ module Aws::ServiceDiscovery
595
663
  # You can't add, update, or delete a `HealthCheckCustomConfig`
596
664
  # configuration from an existing service.
597
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
+ #
598
672
  # @return [Types::CreateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
599
673
  #
600
674
  # * {Types::CreateServiceResponse#service #service} => Types::Service
@@ -667,6 +741,12 @@ module Aws::ServiceDiscovery
667
741
  # health_check_custom_config: {
668
742
  # failure_threshold: 1,
669
743
  # },
744
+ # tags: [
745
+ # {
746
+ # key: "TagKey", # required
747
+ # value: "TagValue", # required
748
+ # },
749
+ # ],
670
750
  # })
671
751
  #
672
752
  # @example Response structure
@@ -933,6 +1013,30 @@ module Aws::ServiceDiscovery
933
1013
  #
934
1014
  # * {Types::GetInstanceResponse#instance #instance} => Types::Instance
935
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
+ #
936
1040
  # @example Request syntax with placeholder values
937
1041
  #
938
1042
  # resp = client.get_instance({
@@ -1004,6 +1108,23 @@ module Aws::ServiceDiscovery
1004
1108
  #
1005
1109
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1006
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
+ #
1007
1128
  # @example Request syntax with placeholder values
1008
1129
  #
1009
1130
  # resp = client.get_instances_health_status({
@@ -1037,6 +1158,35 @@ module Aws::ServiceDiscovery
1037
1158
  #
1038
1159
  # * {Types::GetNamespaceResponse#namespace #namespace} => Types::Namespace
1039
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
+ #
1040
1190
  # @example Request syntax with placeholder values
1041
1191
  #
1042
1192
  # resp = client.get_namespace({
@@ -1143,6 +1293,33 @@ module Aws::ServiceDiscovery
1143
1293
  #
1144
1294
  # * {Types::GetServiceResponse#service #service} => Types::Service
1145
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
+ #
1146
1323
  # @example Request syntax with placeholder values
1147
1324
  #
1148
1325
  # resp = client.get_service({
@@ -1421,6 +1598,42 @@ module Aws::ServiceDiscovery
1421
1598
  #
1422
1599
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1423
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
+ #
1424
1637
  # @example Request syntax with placeholder values
1425
1638
  #
1426
1639
  # resp = client.list_operations({
@@ -1560,6 +1773,60 @@ module Aws::ServiceDiscovery
1560
1773
  req.send_request(options)
1561
1774
  end
1562
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
+
1563
1830
  # Creates or updates one or more records and, optionally, creates a
1564
1831
  # health check based on the settings in a specified service. When you
1565
1832
  # submit a `RegisterInstance` request, the following occurs:
@@ -1737,7 +2004,9 @@ module Aws::ServiceDiscovery
1737
2004
  #
1738
2005
  # You can add up to 30 custom attributes. For each key-value pair, the
1739
2006
  # maximum length of the attribute name is 255 characters, and the
1740
- # 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.
1741
2010
  #
1742
2011
  #
1743
2012
  #
@@ -1791,6 +2060,107 @@ module Aws::ServiceDiscovery
1791
2060
  req.send_request(options)
1792
2061
  end
1793
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
+
1794
2164
  # Submits a request to change the health status of a custom health check
1795
2165
  # to healthy or unhealthy.
1796
2166
  #
@@ -1818,6 +2188,18 @@ module Aws::ServiceDiscovery
1818
2188
  #
1819
2189
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1820
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
+ #
1821
2203
  # @example Request syntax with placeholder values
1822
2204
  #
1823
2205
  # resp = client.update_instance_custom_health_status({
@@ -1870,13 +2252,42 @@ module Aws::ServiceDiscovery
1870
2252
  #
1871
2253
  # * {Types::UpdateServiceResponse#operation_id #operation_id} => String
1872
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
+ #
1873
2284
  # @example Request syntax with placeholder values
1874
2285
  #
1875
2286
  # resp = client.update_service({
1876
2287
  # id: "ResourceId", # required
1877
2288
  # service: { # required
1878
2289
  # description: "ResourceDescription",
1879
- # dns_config: { # required
2290
+ # dns_config: {
1880
2291
  # dns_records: [ # required
1881
2292
  # {
1882
2293
  # type: "SRV", # required, accepts SRV, A, AAAA, CNAME
@@ -1918,7 +2329,7 @@ module Aws::ServiceDiscovery
1918
2329
  params: params,
1919
2330
  config: config)
1920
2331
  context[:gem_name] = 'aws-sdk-servicediscovery'
1921
- context[:gem_version] = '1.23.0'
2332
+ context[:gem_version] = '1.24.0'
1922
2333
  Seahorse::Client::Request.new(handlers, context)
1923
2334
  end
1924
2335
 
@@ -11,6 +11,7 @@ module Aws::ServiceDiscovery
11
11
 
12
12
  include Seahorse::Model
13
13
 
14
+ AmazonResourceName = Shapes::StringShape.new(name: 'AmazonResourceName')
14
15
  Arn = Shapes::StringShape.new(name: 'Arn')
15
16
  AttrKey = Shapes::StringShape.new(name: 'AttrKey')
16
17
  AttrValue = Shapes::StringShape.new(name: 'AttrValue')
@@ -34,6 +35,7 @@ module Aws::ServiceDiscovery
34
35
  DeregisterInstanceResponse = Shapes::StructureShape.new(name: 'DeregisterInstanceResponse')
35
36
  DiscoverInstancesRequest = Shapes::StructureShape.new(name: 'DiscoverInstancesRequest')
36
37
  DiscoverInstancesResponse = Shapes::StructureShape.new(name: 'DiscoverInstancesResponse')
38
+ DiscoverMaxResults = Shapes::IntegerShape.new(name: 'DiscoverMaxResults')
37
39
  DnsConfig = Shapes::StructureShape.new(name: 'DnsConfig')
38
40
  DnsConfigChange = Shapes::StructureShape.new(name: 'DnsConfigChange')
39
41
  DnsProperties = Shapes::StructureShape.new(name: 'DnsProperties')
@@ -78,6 +80,8 @@ module Aws::ServiceDiscovery
78
80
  ListOperationsResponse = Shapes::StructureShape.new(name: 'ListOperationsResponse')
79
81
  ListServicesRequest = Shapes::StructureShape.new(name: 'ListServicesRequest')
80
82
  ListServicesResponse = Shapes::StructureShape.new(name: 'ListServicesResponse')
83
+ ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
84
+ ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
81
85
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
82
86
  Message = Shapes::StringShape.new(name: 'Message')
83
87
  Namespace = Shapes::StructureShape.new(name: 'Namespace')
@@ -108,11 +112,13 @@ module Aws::ServiceDiscovery
108
112
  RecordType = Shapes::StringShape.new(name: 'RecordType')
109
113
  RegisterInstanceRequest = Shapes::StructureShape.new(name: 'RegisterInstanceRequest')
110
114
  RegisterInstanceResponse = Shapes::StructureShape.new(name: 'RegisterInstanceResponse')
115
+ RequestLimitExceeded = Shapes::StructureShape.new(name: 'RequestLimitExceeded')
111
116
  ResourceCount = Shapes::IntegerShape.new(name: 'ResourceCount')
112
117
  ResourceDescription = Shapes::StringShape.new(name: 'ResourceDescription')
113
118
  ResourceId = Shapes::StringShape.new(name: 'ResourceId')
114
119
  ResourceInUse = Shapes::StructureShape.new(name: 'ResourceInUse')
115
120
  ResourceLimitExceeded = Shapes::StructureShape.new(name: 'ResourceLimitExceeded')
121
+ ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
116
122
  ResourcePath = Shapes::StringShape.new(name: 'ResourcePath')
117
123
  RoutingPolicy = Shapes::StringShape.new(name: 'RoutingPolicy')
118
124
  Service = Shapes::StructureShape.new(name: 'Service')
@@ -125,7 +131,17 @@ module Aws::ServiceDiscovery
125
131
  ServiceNotFound = Shapes::StructureShape.new(name: 'ServiceNotFound')
126
132
  ServiceSummariesList = Shapes::ListShape.new(name: 'ServiceSummariesList')
127
133
  ServiceSummary = Shapes::StructureShape.new(name: 'ServiceSummary')
134
+ Tag = Shapes::StructureShape.new(name: 'Tag')
135
+ TagKey = Shapes::StringShape.new(name: 'TagKey')
136
+ TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
137
+ TagList = Shapes::ListShape.new(name: 'TagList')
138
+ TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
139
+ TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
140
+ TagValue = Shapes::StringShape.new(name: 'TagValue')
128
141
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
142
+ TooManyTagsException = Shapes::StructureShape.new(name: 'TooManyTagsException')
143
+ UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
144
+ UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
129
145
  UpdateInstanceCustomHealthStatusRequest = Shapes::StructureShape.new(name: 'UpdateInstanceCustomHealthStatusRequest')
130
146
  UpdateServiceRequest = Shapes::StructureShape.new(name: 'UpdateServiceRequest')
131
147
  UpdateServiceResponse = Shapes::StructureShape.new(name: 'UpdateServiceResponse')
@@ -136,6 +152,7 @@ module Aws::ServiceDiscovery
136
152
  CreateHttpNamespaceRequest.add_member(:name, Shapes::ShapeRef.new(shape: NamespaceName, required: true, location_name: "Name"))
137
153
  CreateHttpNamespaceRequest.add_member(:creator_request_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "CreatorRequestId", metadata: {"idempotencyToken"=>true}))
138
154
  CreateHttpNamespaceRequest.add_member(:description, Shapes::ShapeRef.new(shape: ResourceDescription, location_name: "Description"))
155
+ CreateHttpNamespaceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
139
156
  CreateHttpNamespaceRequest.struct_class = Types::CreateHttpNamespaceRequest
140
157
 
141
158
  CreateHttpNamespaceResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
@@ -145,6 +162,7 @@ module Aws::ServiceDiscovery
145
162
  CreatePrivateDnsNamespaceRequest.add_member(:creator_request_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "CreatorRequestId", metadata: {"idempotencyToken"=>true}))
146
163
  CreatePrivateDnsNamespaceRequest.add_member(:description, Shapes::ShapeRef.new(shape: ResourceDescription, location_name: "Description"))
147
164
  CreatePrivateDnsNamespaceRequest.add_member(:vpc, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "Vpc"))
165
+ CreatePrivateDnsNamespaceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
148
166
  CreatePrivateDnsNamespaceRequest.struct_class = Types::CreatePrivateDnsNamespaceRequest
149
167
 
150
168
  CreatePrivateDnsNamespaceResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
@@ -153,6 +171,7 @@ module Aws::ServiceDiscovery
153
171
  CreatePublicDnsNamespaceRequest.add_member(:name, Shapes::ShapeRef.new(shape: NamespaceName, required: true, location_name: "Name"))
154
172
  CreatePublicDnsNamespaceRequest.add_member(:creator_request_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "CreatorRequestId", metadata: {"idempotencyToken"=>true}))
155
173
  CreatePublicDnsNamespaceRequest.add_member(:description, Shapes::ShapeRef.new(shape: ResourceDescription, location_name: "Description"))
174
+ CreatePublicDnsNamespaceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
156
175
  CreatePublicDnsNamespaceRequest.struct_class = Types::CreatePublicDnsNamespaceRequest
157
176
 
158
177
  CreatePublicDnsNamespaceResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
@@ -165,6 +184,7 @@ module Aws::ServiceDiscovery
165
184
  CreateServiceRequest.add_member(:dns_config, Shapes::ShapeRef.new(shape: DnsConfig, location_name: "DnsConfig"))
166
185
  CreateServiceRequest.add_member(:health_check_config, Shapes::ShapeRef.new(shape: HealthCheckConfig, location_name: "HealthCheckConfig"))
167
186
  CreateServiceRequest.add_member(:health_check_custom_config, Shapes::ShapeRef.new(shape: HealthCheckCustomConfig, location_name: "HealthCheckCustomConfig"))
187
+ CreateServiceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
168
188
  CreateServiceRequest.struct_class = Types::CreateServiceRequest
169
189
 
170
190
  CreateServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "Service"))
@@ -193,7 +213,7 @@ module Aws::ServiceDiscovery
193
213
 
194
214
  DiscoverInstancesRequest.add_member(:namespace_name, Shapes::ShapeRef.new(shape: NamespaceName, required: true, location_name: "NamespaceName"))
195
215
  DiscoverInstancesRequest.add_member(:service_name, Shapes::ShapeRef.new(shape: ServiceName, required: true, location_name: "ServiceName"))
196
- DiscoverInstancesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
216
+ DiscoverInstancesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: DiscoverMaxResults, location_name: "MaxResults"))
197
217
  DiscoverInstancesRequest.add_member(:query_parameters, Shapes::ShapeRef.new(shape: Attributes, location_name: "QueryParameters"))
198
218
  DiscoverInstancesRequest.add_member(:health_status, Shapes::ShapeRef.new(shape: HealthStatusFilter, location_name: "HealthStatus"))
199
219
  DiscoverInstancesRequest.struct_class = Types::DiscoverInstancesRequest
@@ -337,6 +357,12 @@ module Aws::ServiceDiscovery
337
357
  ListServicesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
338
358
  ListServicesResponse.struct_class = Types::ListServicesResponse
339
359
 
360
+ ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location_name: "ResourceARN"))
361
+ ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
362
+
363
+ ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
364
+ ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
365
+
340
366
  Namespace.add_member(:id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "Id"))
341
367
  Namespace.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, location_name: "Arn"))
342
368
  Namespace.add_member(:name, Shapes::ShapeRef.new(shape: NamespaceName, location_name: "Name"))
@@ -417,12 +443,18 @@ module Aws::ServiceDiscovery
417
443
  RegisterInstanceResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
418
444
  RegisterInstanceResponse.struct_class = Types::RegisterInstanceResponse
419
445
 
446
+ RequestLimitExceeded.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
447
+ RequestLimitExceeded.struct_class = Types::RequestLimitExceeded
448
+
420
449
  ResourceInUse.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
421
450
  ResourceInUse.struct_class = Types::ResourceInUse
422
451
 
423
452
  ResourceLimitExceeded.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
424
453
  ResourceLimitExceeded.struct_class = Types::ResourceLimitExceeded
425
454
 
455
+ ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
456
+ ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
457
+
426
458
  Service.add_member(:id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "Id"))
427
459
  Service.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, location_name: "Arn"))
428
460
  Service.add_member(:name, Shapes::ShapeRef.new(shape: ServiceName, location_name: "Name"))
@@ -442,7 +474,7 @@ module Aws::ServiceDiscovery
442
474
  ServiceAlreadyExists.struct_class = Types::ServiceAlreadyExists
443
475
 
444
476
  ServiceChange.add_member(:description, Shapes::ShapeRef.new(shape: ResourceDescription, location_name: "Description"))
445
- ServiceChange.add_member(:dns_config, Shapes::ShapeRef.new(shape: DnsConfigChange, required: true, location_name: "DnsConfig"))
477
+ ServiceChange.add_member(:dns_config, Shapes::ShapeRef.new(shape: DnsConfigChange, location_name: "DnsConfig"))
446
478
  ServiceChange.add_member(:health_check_config, Shapes::ShapeRef.new(shape: HealthCheckConfig, location_name: "HealthCheckConfig"))
447
479
  ServiceChange.struct_class = Types::ServiceChange
448
480
 
@@ -469,6 +501,30 @@ module Aws::ServiceDiscovery
469
501
  ServiceSummary.add_member(:create_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreateDate"))
470
502
  ServiceSummary.struct_class = Types::ServiceSummary
471
503
 
504
+ Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
505
+ Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, required: true, location_name: "Value"))
506
+ Tag.struct_class = Types::Tag
507
+
508
+ TagKeyList.member = Shapes::ShapeRef.new(shape: TagKey)
509
+
510
+ TagList.member = Shapes::ShapeRef.new(shape: Tag)
511
+
512
+ TagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location_name: "ResourceARN"))
513
+ TagResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, required: true, location_name: "Tags"))
514
+ TagResourceRequest.struct_class = Types::TagResourceRequest
515
+
516
+ TagResourceResponse.struct_class = Types::TagResourceResponse
517
+
518
+ TooManyTagsException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
519
+ TooManyTagsException.add_member(:resource_name, Shapes::ShapeRef.new(shape: AmazonResourceName, location_name: "ResourceName"))
520
+ TooManyTagsException.struct_class = Types::TooManyTagsException
521
+
522
+ UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location_name: "ResourceARN"))
523
+ UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location_name: "TagKeys"))
524
+ UntagResourceRequest.struct_class = Types::UntagResourceRequest
525
+
526
+ UntagResourceResponse.struct_class = Types::UntagResourceResponse
527
+
472
528
  UpdateInstanceCustomHealthStatusRequest.add_member(:service_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ServiceId"))
473
529
  UpdateInstanceCustomHealthStatusRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "InstanceId"))
474
530
  UpdateInstanceCustomHealthStatusRequest.add_member(:status, Shapes::ShapeRef.new(shape: CustomHealthStatus, required: true, location_name: "Status"))
@@ -510,6 +566,7 @@ module Aws::ServiceDiscovery
510
566
  o.errors << Shapes::ShapeRef.new(shape: NamespaceAlreadyExists)
511
567
  o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceeded)
512
568
  o.errors << Shapes::ShapeRef.new(shape: DuplicateRequest)
569
+ o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
513
570
  end)
514
571
 
515
572
  api.add_operation(:create_private_dns_namespace, Seahorse::Model::Operation.new.tap do |o|
@@ -522,6 +579,7 @@ module Aws::ServiceDiscovery
522
579
  o.errors << Shapes::ShapeRef.new(shape: NamespaceAlreadyExists)
523
580
  o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceeded)
524
581
  o.errors << Shapes::ShapeRef.new(shape: DuplicateRequest)
582
+ o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
525
583
  end)
526
584
 
527
585
  api.add_operation(:create_public_dns_namespace, Seahorse::Model::Operation.new.tap do |o|
@@ -534,6 +592,7 @@ module Aws::ServiceDiscovery
534
592
  o.errors << Shapes::ShapeRef.new(shape: NamespaceAlreadyExists)
535
593
  o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceeded)
536
594
  o.errors << Shapes::ShapeRef.new(shape: DuplicateRequest)
595
+ o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
537
596
  end)
538
597
 
539
598
  api.add_operation(:create_service, Seahorse::Model::Operation.new.tap do |o|
@@ -546,6 +605,7 @@ module Aws::ServiceDiscovery
546
605
  o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceeded)
547
606
  o.errors << Shapes::ShapeRef.new(shape: NamespaceNotFound)
548
607
  o.errors << Shapes::ShapeRef.new(shape: ServiceAlreadyExists)
608
+ o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
549
609
  end)
550
610
 
551
611
  api.add_operation(:delete_namespace, Seahorse::Model::Operation.new.tap do |o|
@@ -596,6 +656,7 @@ module Aws::ServiceDiscovery
596
656
  o.errors << Shapes::ShapeRef.new(shape: ServiceNotFound)
597
657
  o.errors << Shapes::ShapeRef.new(shape: NamespaceNotFound)
598
658
  o.errors << Shapes::ShapeRef.new(shape: InvalidInput)
659
+ o.errors << Shapes::ShapeRef.new(shape: RequestLimitExceeded)
599
660
  end)
600
661
 
601
662
  api.add_operation(:get_instance, Seahorse::Model::Operation.new.tap do |o|
@@ -717,6 +778,16 @@ module Aws::ServiceDiscovery
717
778
  )
718
779
  end)
719
780
 
781
+ api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
782
+ o.name = "ListTagsForResource"
783
+ o.http_method = "POST"
784
+ o.http_request_uri = "/"
785
+ o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
786
+ o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
787
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
788
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInput)
789
+ end)
790
+
720
791
  api.add_operation(:register_instance, Seahorse::Model::Operation.new.tap do |o|
721
792
  o.name = "RegisterInstance"
722
793
  o.http_method = "POST"
@@ -730,6 +801,27 @@ module Aws::ServiceDiscovery
730
801
  o.errors << Shapes::ShapeRef.new(shape: ServiceNotFound)
731
802
  end)
732
803
 
804
+ api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
805
+ o.name = "TagResource"
806
+ o.http_method = "POST"
807
+ o.http_request_uri = "/"
808
+ o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
809
+ o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
810
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
811
+ o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
812
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInput)
813
+ end)
814
+
815
+ api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
816
+ o.name = "UntagResource"
817
+ o.http_method = "POST"
818
+ o.http_request_uri = "/"
819
+ o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
820
+ o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
821
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
822
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInput)
823
+ end)
824
+
733
825
  api.add_operation(:update_instance_custom_health_status, Seahorse::Model::Operation.new.tap do |o|
734
826
  o.name = "UpdateInstanceCustomHealthStatus"
735
827
  o.http_method = "POST"
@@ -32,10 +32,13 @@ module Aws::ServiceDiscovery
32
32
  # * {NamespaceAlreadyExists}
33
33
  # * {NamespaceNotFound}
34
34
  # * {OperationNotFound}
35
+ # * {RequestLimitExceeded}
35
36
  # * {ResourceInUse}
36
37
  # * {ResourceLimitExceeded}
38
+ # * {ResourceNotFoundException}
37
39
  # * {ServiceAlreadyExists}
38
40
  # * {ServiceNotFound}
41
+ # * {TooManyTagsException}
39
42
  #
40
43
  # Additionally, error classes are dynamically generated for service errors based on the error code
41
44
  # if they are not defined above.
@@ -163,6 +166,21 @@ module Aws::ServiceDiscovery
163
166
  end
164
167
  end
165
168
 
169
+ class RequestLimitExceeded < ServiceError
170
+
171
+ # @param [Seahorse::Client::RequestContext] context
172
+ # @param [String] message
173
+ # @param [Aws::ServiceDiscovery::Types::RequestLimitExceeded] data
174
+ def initialize(context, message, data = Aws::EmptyStructure.new)
175
+ super(context, message, data)
176
+ end
177
+
178
+ # @return [String]
179
+ def message
180
+ @message || @data[:message]
181
+ end
182
+ end
183
+
166
184
  class ResourceInUse < ServiceError
167
185
 
168
186
  # @param [Seahorse::Client::RequestContext] context
@@ -193,6 +211,21 @@ module Aws::ServiceDiscovery
193
211
  end
194
212
  end
195
213
 
214
+ class ResourceNotFoundException < ServiceError
215
+
216
+ # @param [Seahorse::Client::RequestContext] context
217
+ # @param [String] message
218
+ # @param [Aws::ServiceDiscovery::Types::ResourceNotFoundException] data
219
+ def initialize(context, message, data = Aws::EmptyStructure.new)
220
+ super(context, message, data)
221
+ end
222
+
223
+ # @return [String]
224
+ def message
225
+ @message || @data[:message]
226
+ end
227
+ end
228
+
196
229
  class ServiceAlreadyExists < ServiceError
197
230
 
198
231
  # @param [Seahorse::Client::RequestContext] context
@@ -233,5 +266,25 @@ module Aws::ServiceDiscovery
233
266
  end
234
267
  end
235
268
 
269
+ class TooManyTagsException < ServiceError
270
+
271
+ # @param [Seahorse::Client::RequestContext] context
272
+ # @param [String] message
273
+ # @param [Aws::ServiceDiscovery::Types::TooManyTagsException] data
274
+ def initialize(context, message, data = Aws::EmptyStructure.new)
275
+ super(context, message, data)
276
+ end
277
+
278
+ # @return [String]
279
+ def message
280
+ @message || @data[:message]
281
+ end
282
+
283
+ # @return [String]
284
+ def resource_name
285
+ @data[:resource_name]
286
+ end
287
+ end
288
+
236
289
  end
237
290
  end
@@ -15,6 +15,12 @@ module Aws::ServiceDiscovery
15
15
  # name: "NamespaceName", # required
16
16
  # creator_request_id: "ResourceId",
17
17
  # description: "ResourceDescription",
18
+ # tags: [
19
+ # {
20
+ # key: "TagKey", # required
21
+ # value: "TagValue", # required
22
+ # },
23
+ # ],
18
24
  # }
19
25
  #
20
26
  # @!attribute [rw] name
@@ -35,12 +41,20 @@ module Aws::ServiceDiscovery
35
41
  # A description for the namespace.
36
42
  # @return [String]
37
43
  #
44
+ # @!attribute [rw] tags
45
+ # The tags to add to the namespace. Each tag consists of a key and an
46
+ # optional value, both of which you define. Tag keys can have a
47
+ # maximum character length of 128 characters, and tag values can have
48
+ # a maximum length of 256 characters.
49
+ # @return [Array<Types::Tag>]
50
+ #
38
51
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateHttpNamespaceRequest AWS API Documentation
39
52
  #
40
53
  class CreateHttpNamespaceRequest < Struct.new(
41
54
  :name,
42
55
  :creator_request_id,
43
- :description)
56
+ :description,
57
+ :tags)
44
58
  include Aws::Structure
45
59
  end
46
60
 
@@ -69,6 +83,12 @@ module Aws::ServiceDiscovery
69
83
  # creator_request_id: "ResourceId",
70
84
  # description: "ResourceDescription",
71
85
  # vpc: "ResourceId", # required
86
+ # tags: [
87
+ # {
88
+ # key: "TagKey", # required
89
+ # value: "TagValue", # required
90
+ # },
91
+ # ],
72
92
  # }
73
93
  #
74
94
  # @!attribute [rw] name
@@ -97,13 +117,21 @@ module Aws::ServiceDiscovery
97
117
  # with.
98
118
  # @return [String]
99
119
  #
120
+ # @!attribute [rw] tags
121
+ # The tags to add to the namespace. Each tag consists of a key and an
122
+ # optional value, both of which you define. Tag keys can have a
123
+ # maximum character length of 128 characters, and tag values can have
124
+ # a maximum length of 256 characters.
125
+ # @return [Array<Types::Tag>]
126
+ #
100
127
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreatePrivateDnsNamespaceRequest AWS API Documentation
101
128
  #
102
129
  class CreatePrivateDnsNamespaceRequest < Struct.new(
103
130
  :name,
104
131
  :creator_request_id,
105
132
  :description,
106
- :vpc)
133
+ :vpc,
134
+ :tags)
107
135
  include Aws::Structure
108
136
  end
109
137
 
@@ -131,6 +159,12 @@ module Aws::ServiceDiscovery
131
159
  # name: "NamespaceName", # required
132
160
  # creator_request_id: "ResourceId",
133
161
  # description: "ResourceDescription",
162
+ # tags: [
163
+ # {
164
+ # key: "TagKey", # required
165
+ # value: "TagValue", # required
166
+ # },
167
+ # ],
134
168
  # }
135
169
  #
136
170
  # @!attribute [rw] name
@@ -151,12 +185,20 @@ module Aws::ServiceDiscovery
151
185
  # A description for the namespace.
152
186
  # @return [String]
153
187
  #
188
+ # @!attribute [rw] tags
189
+ # The tags to add to the namespace. Each tag consists of a key and an
190
+ # optional value, both of which you define. Tag keys can have a
191
+ # maximum character length of 128 characters, and tag values can have
192
+ # a maximum length of 256 characters.
193
+ # @return [Array<Types::Tag>]
194
+ #
154
195
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreatePublicDnsNamespaceRequest AWS API Documentation
155
196
  #
156
197
  class CreatePublicDnsNamespaceRequest < Struct.new(
157
198
  :name,
158
199
  :creator_request_id,
159
- :description)
200
+ :description,
201
+ :tags)
160
202
  include Aws::Structure
161
203
  end
162
204
 
@@ -203,6 +245,12 @@ module Aws::ServiceDiscovery
203
245
  # health_check_custom_config: {
204
246
  # failure_threshold: 1,
205
247
  # },
248
+ # tags: [
249
+ # {
250
+ # key: "TagKey", # required
251
+ # value: "TagValue", # required
252
+ # },
253
+ # ],
206
254
  # }
207
255
  #
208
256
  # @!attribute [rw] name
@@ -280,6 +328,13 @@ module Aws::ServiceDiscovery
280
328
  # configuration from an existing service.
281
329
  # @return [Types::HealthCheckCustomConfig]
282
330
  #
331
+ # @!attribute [rw] tags
332
+ # The tags to add to the service. Each tag consists of a key and an
333
+ # optional value, both of which you define. Tag keys can have a
334
+ # maximum character length of 128 characters, and tag values can have
335
+ # a maximum length of 256 characters.
336
+ # @return [Array<Types::Tag>]
337
+ #
283
338
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateServiceRequest AWS API Documentation
284
339
  #
285
340
  class CreateServiceRequest < Struct.new(
@@ -289,7 +344,8 @@ module Aws::ServiceDiscovery
289
344
  :description,
290
345
  :dns_config,
291
346
  :health_check_config,
292
- :health_check_custom_config)
347
+ :health_check_custom_config,
348
+ :tags)
293
349
  include Aws::Structure
294
350
  end
295
351
 
@@ -1789,6 +1845,36 @@ module Aws::ServiceDiscovery
1789
1845
  include Aws::Structure
1790
1846
  end
1791
1847
 
1848
+ # @note When making an API call, you may pass ListTagsForResourceRequest
1849
+ # data as a hash:
1850
+ #
1851
+ # {
1852
+ # resource_arn: "AmazonResourceName", # required
1853
+ # }
1854
+ #
1855
+ # @!attribute [rw] resource_arn
1856
+ # The Amazon Resource Name (ARN) of the resource that you want to
1857
+ # retrieve tags for.
1858
+ # @return [String]
1859
+ #
1860
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListTagsForResourceRequest AWS API Documentation
1861
+ #
1862
+ class ListTagsForResourceRequest < Struct.new(
1863
+ :resource_arn)
1864
+ include Aws::Structure
1865
+ end
1866
+
1867
+ # @!attribute [rw] tags
1868
+ # The tags that are assigned to the resource.
1869
+ # @return [Array<Types::Tag>]
1870
+ #
1871
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListTagsForResourceResponse AWS API Documentation
1872
+ #
1873
+ class ListTagsForResourceResponse < Struct.new(
1874
+ :tags)
1875
+ include Aws::Structure
1876
+ end
1877
+
1792
1878
  # A complex type that contains information about a specified namespace.
1793
1879
  #
1794
1880
  # @!attribute [rw] id
@@ -2383,7 +2469,9 @@ module Aws::ServiceDiscovery
2383
2469
  #
2384
2470
  # You can add up to 30 custom attributes. For each key-value pair, the
2385
2471
  # maximum length of the attribute name is 255 characters, and the
2386
- # maximum length of the attribute value is 1,024 characters.
2472
+ # maximum length of the attribute value is 1,024 characters. Total
2473
+ # size of all provided attributes (sum of all keys and values) must
2474
+ # not exceed 5,000 characters.
2387
2475
  #
2388
2476
  #
2389
2477
  #
@@ -2417,6 +2505,19 @@ module Aws::ServiceDiscovery
2417
2505
  include Aws::Structure
2418
2506
  end
2419
2507
 
2508
+ # The operation can't be completed because you've reached the limit on
2509
+ # the number of requests.
2510
+ #
2511
+ # @!attribute [rw] message
2512
+ # @return [String]
2513
+ #
2514
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/RequestLimitExceeded AWS API Documentation
2515
+ #
2516
+ class RequestLimitExceeded < Struct.new(
2517
+ :message)
2518
+ include Aws::Structure
2519
+ end
2520
+
2420
2521
  # The specified resource can't be deleted because it contains other
2421
2522
  # resources. For example, you can't delete a service that contains any
2422
2523
  # instances.
@@ -2444,6 +2545,18 @@ module Aws::ServiceDiscovery
2444
2545
  include Aws::Structure
2445
2546
  end
2446
2547
 
2548
+ # The operation can't be completed because the resource was not found.
2549
+ #
2550
+ # @!attribute [rw] message
2551
+ # @return [String]
2552
+ #
2553
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ResourceNotFoundException AWS API Documentation
2554
+ #
2555
+ class ResourceNotFoundException < Struct.new(
2556
+ :message)
2557
+ include Aws::Structure
2558
+ end
2559
+
2447
2560
  # A complex type that contains information about the specified service.
2448
2561
  #
2449
2562
  # @!attribute [rw] id
@@ -2564,7 +2677,7 @@ module Aws::ServiceDiscovery
2564
2677
  #
2565
2678
  # {
2566
2679
  # description: "ResourceDescription",
2567
- # dns_config: { # required
2680
+ # dns_config: {
2568
2681
  # dns_records: [ # required
2569
2682
  # {
2570
2683
  # type: "SRV", # required, accepts SRV, A, AAAA, CNAME
@@ -2912,6 +3025,117 @@ module Aws::ServiceDiscovery
2912
3025
  include Aws::Structure
2913
3026
  end
2914
3027
 
3028
+ # A custom key-value pair associated with a resource.
3029
+ #
3030
+ # @note When making an API call, you may pass Tag
3031
+ # data as a hash:
3032
+ #
3033
+ # {
3034
+ # key: "TagKey", # required
3035
+ # value: "TagValue", # required
3036
+ # }
3037
+ #
3038
+ # @!attribute [rw] key
3039
+ # The key identifier, or name, of the tag.
3040
+ # @return [String]
3041
+ #
3042
+ # @!attribute [rw] value
3043
+ # The string value that's associated with the key of the tag. You can
3044
+ # set the value of a tag to an empty string, but you can't set the
3045
+ # value of a tag to null.
3046
+ # @return [String]
3047
+ #
3048
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/Tag AWS API Documentation
3049
+ #
3050
+ class Tag < Struct.new(
3051
+ :key,
3052
+ :value)
3053
+ include Aws::Structure
3054
+ end
3055
+
3056
+ # @note When making an API call, you may pass TagResourceRequest
3057
+ # data as a hash:
3058
+ #
3059
+ # {
3060
+ # resource_arn: "AmazonResourceName", # required
3061
+ # tags: [ # required
3062
+ # {
3063
+ # key: "TagKey", # required
3064
+ # value: "TagValue", # required
3065
+ # },
3066
+ # ],
3067
+ # }
3068
+ #
3069
+ # @!attribute [rw] resource_arn
3070
+ # The Amazon Resource Name (ARN) of the resource that you want to
3071
+ # retrieve tags for.
3072
+ # @return [String]
3073
+ #
3074
+ # @!attribute [rw] tags
3075
+ # The tags to add to the specified resource. Specifying the tag key is
3076
+ # required. You can set the value of a tag to an empty string, but you
3077
+ # can't set the value of a tag to null.
3078
+ # @return [Array<Types::Tag>]
3079
+ #
3080
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/TagResourceRequest AWS API Documentation
3081
+ #
3082
+ class TagResourceRequest < Struct.new(
3083
+ :resource_arn,
3084
+ :tags)
3085
+ include Aws::Structure
3086
+ end
3087
+
3088
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/TagResourceResponse AWS API Documentation
3089
+ #
3090
+ class TagResourceResponse < Aws::EmptyStructure; end
3091
+
3092
+ # The list of tags on the resource is over the limit. The maximum number
3093
+ # of tags that can be applied to a resource is 50.
3094
+ #
3095
+ # @!attribute [rw] message
3096
+ # @return [String]
3097
+ #
3098
+ # @!attribute [rw] resource_name
3099
+ # The name of the resource.
3100
+ # @return [String]
3101
+ #
3102
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/TooManyTagsException AWS API Documentation
3103
+ #
3104
+ class TooManyTagsException < Struct.new(
3105
+ :message,
3106
+ :resource_name)
3107
+ include Aws::Structure
3108
+ end
3109
+
3110
+ # @note When making an API call, you may pass UntagResourceRequest
3111
+ # data as a hash:
3112
+ #
3113
+ # {
3114
+ # resource_arn: "AmazonResourceName", # required
3115
+ # tag_keys: ["TagKey"], # required
3116
+ # }
3117
+ #
3118
+ # @!attribute [rw] resource_arn
3119
+ # The Amazon Resource Name (ARN) of the resource that you want to
3120
+ # retrieve tags for.
3121
+ # @return [String]
3122
+ #
3123
+ # @!attribute [rw] tag_keys
3124
+ # The tag keys to remove from the specified resource.
3125
+ # @return [Array<String>]
3126
+ #
3127
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UntagResourceRequest AWS API Documentation
3128
+ #
3129
+ class UntagResourceRequest < Struct.new(
3130
+ :resource_arn,
3131
+ :tag_keys)
3132
+ include Aws::Structure
3133
+ end
3134
+
3135
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UntagResourceResponse AWS API Documentation
3136
+ #
3137
+ class UntagResourceResponse < Aws::EmptyStructure; end
3138
+
2915
3139
  # @note When making an API call, you may pass UpdateInstanceCustomHealthStatusRequest
2916
3140
  # data as a hash:
2917
3141
  #
@@ -2951,7 +3175,7 @@ module Aws::ServiceDiscovery
2951
3175
  # id: "ResourceId", # required
2952
3176
  # service: { # required
2953
3177
  # description: "ResourceDescription",
2954
- # dns_config: { # required
3178
+ # dns_config: {
2955
3179
  # dns_records: [ # required
2956
3180
  # {
2957
3181
  # type: "SRV", # required, accepts SRV, A, AAAA, CNAME
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-servicediscovery
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.23.0
4
+ version: 1.24.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-28 00:00:00.000000000 Z
11
+ date: 2020-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core