aws-sdk-servicediscovery 1.0.0 → 1.1.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.
@@ -103,6 +103,7 @@ module Aws::ServiceDiscovery
103
103
  ResourceInUse = Shapes::StructureShape.new(name: 'ResourceInUse')
104
104
  ResourceLimitExceeded = Shapes::StructureShape.new(name: 'ResourceLimitExceeded')
105
105
  ResourcePath = Shapes::StringShape.new(name: 'ResourcePath')
106
+ RoutingPolicy = Shapes::StringShape.new(name: 'RoutingPolicy')
106
107
  Service = Shapes::StructureShape.new(name: 'Service')
107
108
  ServiceAlreadyExists = Shapes::StructureShape.new(name: 'ServiceAlreadyExists')
108
109
  ServiceChange = Shapes::StructureShape.new(name: 'ServiceChange')
@@ -166,6 +167,7 @@ module Aws::ServiceDiscovery
166
167
  DeregisterInstanceResponse.struct_class = Types::DeregisterInstanceResponse
167
168
 
168
169
  DnsConfig.add_member(:namespace_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "NamespaceId"))
170
+ DnsConfig.add_member(:routing_policy, Shapes::ShapeRef.new(shape: RoutingPolicy, location_name: "RoutingPolicy"))
169
171
  DnsConfig.add_member(:dns_records, Shapes::ShapeRef.new(shape: DnsRecordList, required: true, location_name: "DnsRecords"))
170
172
  DnsConfig.struct_class = Types::DnsConfig
171
173
 
@@ -218,7 +220,7 @@ module Aws::ServiceDiscovery
218
220
  GetServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "Service"))
219
221
  GetServiceResponse.struct_class = Types::GetServiceResponse
220
222
 
221
- HealthCheckConfig.add_member(:type, Shapes::ShapeRef.new(shape: HealthCheckType, location_name: "Type"))
223
+ HealthCheckConfig.add_member(:type, Shapes::ShapeRef.new(shape: HealthCheckType, required: true, location_name: "Type"))
222
224
  HealthCheckConfig.add_member(:resource_path, Shapes::ShapeRef.new(shape: ResourcePath, location_name: "ResourcePath"))
223
225
  HealthCheckConfig.add_member(:failure_threshold, Shapes::ShapeRef.new(shape: FailureThreshold, location_name: "FailureThreshold"))
224
226
  HealthCheckConfig.struct_class = Types::HealthCheckConfig
@@ -574,6 +576,7 @@ module Aws::ServiceDiscovery
574
576
  o.http_request_uri = "/"
575
577
  o.input = Shapes::ShapeRef.new(shape: ListServicesRequest)
576
578
  o.output = Shapes::ShapeRef.new(shape: ListServicesResponse)
579
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInput)
577
580
  o[:pager] = Aws::Pager.new(
578
581
  limit_key: "max_results",
579
582
  tokens: {
@@ -25,9 +25,10 @@ module Aws::ServiceDiscovery
25
25
  # @return [String]
26
26
  #
27
27
  # @!attribute [rw] creator_request_id
28
- # An optional parameter that you can use to resolve concurrent
29
- # creation requests. `CreatorRequestId` helps to determine if a
30
- # specific client owns the namespace.
28
+ # A unique string that identifies the request and that allows failed
29
+ # `CreatePrivateDnsNamespace` requests to be retried without the risk
30
+ # of executing the operation twice. `CreatorRequestId` can be any
31
+ # unique string, for example, a date/time stamp.
31
32
  #
32
33
  # **A suitable default value is auto-generated.** You should normally
33
34
  # not need to pass this option.
@@ -78,9 +79,10 @@ module Aws::ServiceDiscovery
78
79
  # @return [String]
79
80
  #
80
81
  # @!attribute [rw] creator_request_id
81
- # An optional parameter that you can use to resolve concurrent
82
- # creation requests. `CreatorRequestId` helps to determine if a
83
- # specific client owns the namespace.
82
+ # A unique string that identifies the request and that allows failed
83
+ # `CreatePublicDnsNamespace` requests to be retried without the risk
84
+ # of executing the operation twice. `CreatorRequestId` can be any
85
+ # unique string, for example, a date/time stamp.
84
86
  #
85
87
  # **A suitable default value is auto-generated.** You should normally
86
88
  # not need to pass this option.
@@ -120,15 +122,16 @@ module Aws::ServiceDiscovery
120
122
  # description: "ResourceDescription",
121
123
  # dns_config: { # required
122
124
  # namespace_id: "ResourceId", # required
125
+ # routing_policy: "MULTIVALUE", # accepts MULTIVALUE, WEIGHTED
123
126
  # dns_records: [ # required
124
127
  # {
125
- # type: "SRV", # required, accepts SRV, A, AAAA
128
+ # type: "SRV", # required, accepts SRV, A, AAAA, CNAME
126
129
  # ttl: 1, # required
127
130
  # },
128
131
  # ],
129
132
  # },
130
133
  # health_check_config: {
131
- # type: "HTTP", # accepts HTTP, HTTPS, TCP
134
+ # type: "HTTP", # required, accepts HTTP, HTTPS, TCP
132
135
  # resource_path: "ResourcePath",
133
136
  # failure_threshold: 1,
134
137
  # },
@@ -139,9 +142,10 @@ module Aws::ServiceDiscovery
139
142
  # @return [String]
140
143
  #
141
144
  # @!attribute [rw] creator_request_id
142
- # An optional parameter that you can use to resolve concurrent
143
- # creation requests. `CreatorRequestId` helps to determine if a
144
- # specific client owns the namespace.
145
+ # A unique string that identifies the request and that allows failed
146
+ # `CreateService` requests to be retried without the risk of executing
147
+ # the operation twice. `CreatorRequestId` can be any unique string,
148
+ # for example, a date/time stamp.
145
149
  #
146
150
  # **A suitable default value is auto-generated.** You should normally
147
151
  # not need to pass this option.
@@ -152,32 +156,18 @@ module Aws::ServiceDiscovery
152
156
  # @return [String]
153
157
  #
154
158
  # @!attribute [rw] dns_config
155
- # A complex type that contains information about the resource record
156
- # sets that you want Amazon Route 53 to create when you register an
157
- # instance.
159
+ # A complex type that contains information about the records that you
160
+ # want Route 53 to create when you register an instance.
158
161
  # @return [Types::DnsConfig]
159
162
  #
160
163
  # @!attribute [rw] health_check_config
161
164
  # *Public DNS namespaces only.* A complex type that contains settings
162
165
  # for an optional health check. If you specify settings for a health
163
- # check, Amazon Route 53 associates the health check with all the
164
- # resource record sets that you specify in `DnsConfig`.
165
- #
166
- # <note markdown="1"> The health check uses 30 seconds as the request interval. This is
167
- # the number of seconds between the time that each Amazon Route 53
168
- # health checker gets a response from your endpoint and the time that
169
- # it sends the next health check request. A health checker in each
170
- # data center around the world sends your endpoint a health check
171
- # request every 30 seconds. On average, your endpoint receives a
172
- # health check request about every two seconds. Health checkers in
173
- # different data centers don't coordinate with one another, so
174
- # you'll sometimes see several requests per second followed by a few
175
- # seconds with no health checks at all.
176
- #
177
- # </note>
166
+ # check, Route 53 associates the health check with all the records
167
+ # that you specify in `DnsConfig`.
178
168
  #
179
- # For information about the charges for health checks, see [Amazon
180
- # Route 53 Pricing][1].
169
+ # For information about the charges for health checks, see [Route 53
170
+ # Pricing][1].
181
171
  #
182
172
  #
183
173
  #
@@ -295,18 +285,18 @@ module Aws::ServiceDiscovery
295
285
  include Aws::Structure
296
286
  end
297
287
 
298
- # A complex type that contains information about the resource record
299
- # sets that you want Amazon Route 53 to create when you register an
300
- # instance.
288
+ # A complex type that contains information about the records that you
289
+ # want Amazon Route 53 to create when you register an instance.
301
290
  #
302
291
  # @note When making an API call, you may pass DnsConfig
303
292
  # data as a hash:
304
293
  #
305
294
  # {
306
295
  # namespace_id: "ResourceId", # required
296
+ # routing_policy: "MULTIVALUE", # accepts MULTIVALUE, WEIGHTED
307
297
  # dns_records: [ # required
308
298
  # {
309
- # type: "SRV", # required, accepts SRV, A, AAAA
299
+ # type: "SRV", # required, accepts SRV, A, AAAA, CNAME
310
300
  # ttl: 1, # required
311
301
  # },
312
302
  # ],
@@ -316,23 +306,80 @@ module Aws::ServiceDiscovery
316
306
  # The ID of the namespace to use for DNS configuration.
317
307
  # @return [String]
318
308
  #
309
+ # @!attribute [rw] routing_policy
310
+ # The routing policy that you want to apply to all records that Route
311
+ # 53 creates when you register an instance and specify this service.
312
+ #
313
+ # <note markdown="1"> If you want to use this service to register instances that create
314
+ # alias records, specify `WEIGHTED` for the routing policy.
315
+ #
316
+ # </note>
317
+ #
318
+ # You can specify the following values:
319
+ #
320
+ # **MULTIVALUE**
321
+ #
322
+ # If you define a health check for the service and the health check is
323
+ # healthy, Route 53 returns the applicable value for up to eight
324
+ # instances.
325
+ #
326
+ # For example, suppose the service includes configurations for one A
327
+ # record and a health check, and you use the service to register 10
328
+ # instances. Route 53 responds to DNS queries with IP addresses for up
329
+ # to eight healthy instances. If fewer than eight instances are
330
+ # healthy, Route 53 responds to every DNS query with the IP addresses
331
+ # for all of the healthy instances.
332
+ #
333
+ # If you don't define a health check for the service, Route 53
334
+ # assumes that all instances are healthy and returns the values for up
335
+ # to eight instances.
336
+ #
337
+ # For more information about the multivalue routing policy, see
338
+ # [Multivalue Answer Routing][1] in the *Route 53 Developer Guide*.
339
+ #
340
+ # **WEIGHTED**
341
+ #
342
+ # Route 53 returns the applicable value from one randomly selected
343
+ # instance from among the instances that you registered using the same
344
+ # service. Currently, all records have the same weight, so you can't
345
+ # route more or less traffic to any instances.
346
+ #
347
+ # For example, suppose the service includes configurations for one A
348
+ # record and a health check, and you use the service to register 10
349
+ # instances. Route 53 responds to DNS queries with the IP address for
350
+ # one randomly selected instance from among the healthy instances. If
351
+ # no instances are healthy, Route 53 responds to DNS queries as if all
352
+ # of the instances were healthy.
353
+ #
354
+ # If you don't define a health check for the service, Route 53
355
+ # assumes that all instances are healthy and returns the applicable
356
+ # value for one randomly selected instance.
357
+ #
358
+ # For more information about the weighted routing policy, see
359
+ # [Weighted Routing][2] in the *Route 53 Developer Guide*.
360
+ #
361
+ #
362
+ #
363
+ # [1]: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-multivalue
364
+ # [2]: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-weighted
365
+ # @return [String]
366
+ #
319
367
  # @!attribute [rw] dns_records
320
- # An array that contains one `DnsRecord` object for each resource
321
- # record set that you want Amazon Route 53 to create when you register
322
- # an instance.
368
+ # An array that contains one `DnsRecord` object for each record that
369
+ # you want Route 53 to create when you register an instance.
323
370
  # @return [Array<Types::DnsRecord>]
324
371
  #
325
372
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsConfig AWS API Documentation
326
373
  #
327
374
  class DnsConfig < Struct.new(
328
375
  :namespace_id,
376
+ :routing_policy,
329
377
  :dns_records)
330
378
  include Aws::Structure
331
379
  end
332
380
 
333
- # A complex type that contains information about changes to the resource
334
- # record sets that Amazon Route 53 creates when you register an
335
- # instance.
381
+ # A complex type that contains information about changes to the records
382
+ # that Route 53 creates when you register an instance.
336
383
  #
337
384
  # @note When making an API call, you may pass DnsConfigChange
338
385
  # data as a hash:
@@ -340,16 +387,15 @@ module Aws::ServiceDiscovery
340
387
  # {
341
388
  # dns_records: [ # required
342
389
  # {
343
- # type: "SRV", # required, accepts SRV, A, AAAA
390
+ # type: "SRV", # required, accepts SRV, A, AAAA, CNAME
344
391
  # ttl: 1, # required
345
392
  # },
346
393
  # ],
347
394
  # }
348
395
  #
349
396
  # @!attribute [rw] dns_records
350
- # An array that contains one `DnsRecord` object for each resource
351
- # record set that you want Amazon Route 53 to create when you register
352
- # an instance.
397
+ # An array that contains one `DnsRecord` object for each record that
398
+ # you want Route 53 to create when you register an instance.
353
399
  # @return [Array<Types::DnsRecord>]
354
400
  #
355
401
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsConfigChange AWS API Documentation
@@ -359,12 +405,12 @@ module Aws::ServiceDiscovery
359
405
  include Aws::Structure
360
406
  end
361
407
 
362
- # A complex type that contains the ID for the hosted zone that Amazon
363
- # Route 53 creates when you create a namespace.
408
+ # A complex type that contains the ID for the hosted zone that Route 53
409
+ # creates when you create a namespace.
364
410
  #
365
411
  # @!attribute [rw] hosted_zone_id
366
- # The ID for the hosted zone that Amazon Route 53 creates when you
367
- # create a namespace.
412
+ # The ID for the hosted zone that Route 53 creates when you create a
413
+ # namespace.
368
414
  # @return [String]
369
415
  #
370
416
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsProperties AWS API Documentation
@@ -374,43 +420,116 @@ module Aws::ServiceDiscovery
374
420
  include Aws::Structure
375
421
  end
376
422
 
377
- # A complex type that contains information about the resource record
378
- # sets that you want Amazon Route 53 to create when you register an
379
- # instance.
423
+ # A complex type that contains information about the records that you
424
+ # want Route 53 to create when you register an instance.
380
425
  #
381
426
  # @note When making an API call, you may pass DnsRecord
382
427
  # data as a hash:
383
428
  #
384
429
  # {
385
- # type: "SRV", # required, accepts SRV, A, AAAA
430
+ # type: "SRV", # required, accepts SRV, A, AAAA, CNAME
386
431
  # ttl: 1, # required
387
432
  # }
388
433
  #
389
434
  # @!attribute [rw] type
390
- # The type of the resource, which indicates the value that Amazon
391
- # Route 53 returns in response to DNS queries. The following values
392
- # are supported:
435
+ # The type of the resource, which indicates the type of value that
436
+ # Route 53 returns in response to DNS queries.
393
437
  #
394
- # * **A**\: Amazon Route 53 returns the IP address of the resource in
395
- # IPv4 format, such as 192.0.2.44.
438
+ # Note the following:
396
439
  #
397
- # * **AAAA**\: Amazon Route 53 returns the IP address of the resource
398
- # in IPv6 format, such as 2001:0db8:85a3:0000:0000:abcd:0001:2345.
440
+ # * **A, AAAA, and SRV records: You can specify settings for a maximum
441
+ # of one A, one AAAA, and one SRV record. You can specify them in
442
+ # any combination.**
399
443
  #
400
- # * **SRV**\: Amazon Route 53 returns the value for an SRV record. The
401
- # value for an SRV record uses the following template, which can't
402
- # be changed:
444
+ # * **CNAME records:** If you specify `CNAME` for `Type`, you can't
445
+ # define any other records. This is a limitation of DNS—you can't
446
+ # create a CNAME record and any other type of record that has the
447
+ # same name as a CNAME record.
403
448
  #
404
- # `priority weight port resource-record-set-name`
449
+ # * **Alias records:** If you want Route 53 to create an alias record
450
+ # when you register an instance, specify `A` or `AAAA` for `Type`.
405
451
  #
406
- # The values of `priority` and `weight` are both set to 1. The value
407
- # of port comes from the value that you specify for `Port` when you
408
- # submit a RegisterInstance request.
452
+ # * **All records:** You specify settings other than `TTL` and `Type`
453
+ # when you register an instance.
454
+ #
455
+ # The following values are supported:
456
+ #
457
+ # **A**
458
+ #
459
+ # Route 53 returns the IP address of the resource in IPv4 format, such
460
+ # as 192.0.2.44.
461
+ #
462
+ # **AAAA**
463
+ #
464
+ # Route 53 returns the IP address of the resource in IPv6 format, such
465
+ # as 2001:0db8:85a3:0000:0000:abcd:0001:2345.
466
+ #
467
+ # **CNAME**
468
+ #
469
+ # Route 53 returns the domain name of the resource, such as
470
+ # www.example.com. Note the following:
471
+ #
472
+ # * You specify the domain name that you want to route traffic to when
473
+ # you register an instance. For more information, see
474
+ # RegisterInstanceRequest$Attributes.
475
+ #
476
+ # * You must specify `WEIGHTED` for the value of `RoutingPolicy`.
477
+ #
478
+ # * You can't specify both `CNAME` for `Type` and settings for
479
+ # `HealthCheckConfig`. If you do, the request will fail with an
480
+ # `InvalidInput` error.
481
+ #
482
+ # **SRV**
483
+ #
484
+ # Route 53 returns the value for an SRV record. The value for an SRV
485
+ # record uses the following values:
486
+ #
487
+ # `priority weight port service-hostname`
488
+ #
489
+ # Note the following about the values:
490
+ #
491
+ # * The values of `priority` and `weight` are both set to `1` and
492
+ # can't be changed.
493
+ #
494
+ # * The value of `port` comes from the value that you specify for the
495
+ # `AWS_INSTANCE_PORT` attribute when you submit a RegisterInstance
496
+ # request.
497
+ #
498
+ # * The value of `service-hostname` is a concatenation of the
499
+ # following values:
500
+ #
501
+ # * The value that you specify for `InstanceId` when you register an
502
+ # instance.
503
+ #
504
+ # * The name of the service.
505
+ #
506
+ # * The name of the namespace.
507
+ #
508
+ # For example, if the value of `InstanceId` is `test`, the name of
509
+ # the service is `backend`, and the name of the namespace is
510
+ # `example.com`, the value of `service-hostname` is:
511
+ #
512
+ # `test.backend.example.com`
513
+ #
514
+ # If you specify settings for an SRV record and if you specify values
515
+ # for `AWS_INSTANCE_IPV4`, `AWS_INSTANCE_IPV6`, or both in the
516
+ # `RegisterInstance` request, Route 53 automatically creates `A`
517
+ # and/or `AAAA` records that have the same name as the value of
518
+ # `service-hostname` in the SRV record. You can ignore these records.
409
519
  # @return [String]
410
520
  #
411
521
  # @!attribute [rw] ttl
412
522
  # The amount of time, in seconds, that you want DNS resolvers to cache
413
- # the settings for this resource record set.
523
+ # the settings for this record.
524
+ #
525
+ # <note markdown="1"> Alias records don't include a TTL because Route 53 uses the TTL for
526
+ # the AWS resource that an alias record routes traffic to. If you
527
+ # include the `AWS_ALIAS_DNS_NAME` attribute when you submit a
528
+ # RegisterInstance request, the `TTL` value is ignored. Always specify
529
+ # a TTL for the service; you can use a service to register instances
530
+ # that create either alias or non-alias records.
531
+ #
532
+ # </note>
414
533
  # @return [Integer]
415
534
  #
416
535
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsRecord AWS API Documentation
@@ -472,20 +591,23 @@ module Aws::ServiceDiscovery
472
591
  #
473
592
  # @!attribute [rw] instances
474
593
  # An array that contains the IDs of all the instances that you want to
475
- # get the health status for. To get the IDs for the instances that
476
- # you've created by using a specified service, submit a ListInstances
477
- # request.
594
+ # get the health status for.
478
595
  #
479
596
  # If you omit `Instances`, Amazon Route 53 returns the health status
480
597
  # for all the instances that are associated with the specified
481
598
  # service.
599
+ #
600
+ # <note markdown="1"> To get the IDs for the instances that you've registered by using a
601
+ # specified service, submit a ListInstances request.
602
+ #
603
+ # </note>
482
604
  # @return [Array<String>]
483
605
  #
484
606
  # @!attribute [rw] max_results
485
- # The maximum number of instances that you want Amazon Route 53 to
486
- # return in the response to a `GetInstancesHealthStatus` request. If
487
- # you don't specify a value for `MaxResults`, Amazon Route 53 returns
488
- # up to 100 instances.
607
+ # The maximum number of instances that you want Route 53 to return in
608
+ # the response to a `GetInstancesHealthStatus` request. If you don't
609
+ # specify a value for `MaxResults`, Route 53 returns up to 100
610
+ # instances.
489
611
  # @return [Integer]
490
612
  #
491
613
  # @!attribute [rw] next_token
@@ -619,61 +741,95 @@ module Aws::ServiceDiscovery
619
741
  # *Public DNS namespaces only.* A complex type that contains settings
620
742
  # for an optional health check. If you specify settings for a health
621
743
  # check, Amazon Route 53 associates the health check with all the
622
- # resource record sets that you specify in `DnsConfig`.
744
+ # records that you specify in `DnsConfig`.
745
+ #
746
+ # **A and AAAA records**
747
+ #
748
+ # If `DnsConfig` includes configurations for both A and AAAA records,
749
+ # Route 53 creates a health check that uses the IPv4 address to check
750
+ # the health of the resource. If the endpoint that is specified by the
751
+ # IPv4 address is unhealthy, Route 53 considers both the A and AAAA
752
+ # records to be unhealthy.
753
+ #
754
+ # **CNAME records**
755
+ #
756
+ # You can't specify settings for `HealthCheckConfig` when the
757
+ # `DNSConfig` includes `CNAME` for the value of `Type`. If you do, the
758
+ # `CreateService` request will fail with an `InvalidInput` error.
623
759
  #
624
- # <note markdown="1"> The health check uses 30 seconds as the request interval. This is the
625
- # number of seconds between the time that each Amazon Route 53 health
626
- # checker gets a response from your endpoint and the time that it sends
627
- # the next health check request. A health checker in each data center
628
- # around the world sends your endpoint a health check request every 30
629
- # seconds. On average, your endpoint receives a health check request
630
- # about every two seconds. Health checkers in different data centers
631
- # don't coordinate with one another, so you'll sometimes see several
632
- # requests per second followed by a few seconds with no health checks at
633
- # all.
760
+ # **Request interval**
634
761
  #
635
- # </note>
762
+ # The health check uses 30 seconds as the request interval. This is the
763
+ # number of seconds between the time that each Route 53 health checker
764
+ # gets a response from your endpoint and the time that it sends the next
765
+ # health check request. A health checker in each data center around the
766
+ # world sends your endpoint a health check request every 30 seconds. On
767
+ # average, your endpoint receives a health check request about every two
768
+ # seconds. Health checkers in different data centers don't coordinate
769
+ # with one another, so you'll sometimes see several requests per second
770
+ # followed by a few seconds with no health checks at all.
636
771
  #
637
- # For information about the charges for health checks, see [Amazon Route
638
- # 53 Pricing][1].
772
+ # **Health checking regions**
639
773
  #
774
+ # Health checkers perform checks from all Route 53 health-checking
775
+ # regions. For a list of the current regions, see [Regions][1].
640
776
  #
777
+ # **Alias records**
641
778
  #
642
- # [1]: http://aws.amazon.com/route53/pricing
779
+ # When you register an instance, if you include the `AWS_ALIAS_DNS_NAME`
780
+ # attribute, Route 53 creates an alias record. Note the following:
781
+ #
782
+ # * Route 53 automatically sets `EvaluateTargetHealth` to true for alias
783
+ # records. When `EvaluateTargetHealth` is true, the alias record
784
+ # inherits the health of the referenced AWS resource. such as an ELB
785
+ # load balancer. For more information, see [EvaluateTargetHealth][2].
786
+ #
787
+ # * If you include `HealthCheckConfig` and then use the service to
788
+ # register an instance that creates an alias record, Route 53 doesn't
789
+ # create the health check.
790
+ #
791
+ # For information about the charges for health checks, see [Route 53
792
+ # Pricing][3].
793
+ #
794
+ #
795
+ #
796
+ # [1]: http://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-Regions
797
+ # [2]: http://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-EvaluateTargetHealth
798
+ # [3]: http://aws.amazon.com/route53/pricing
643
799
  #
644
800
  # @note When making an API call, you may pass HealthCheckConfig
645
801
  # data as a hash:
646
802
  #
647
803
  # {
648
- # type: "HTTP", # accepts HTTP, HTTPS, TCP
804
+ # type: "HTTP", # required, accepts HTTP, HTTPS, TCP
649
805
  # resource_path: "ResourcePath",
650
806
  # failure_threshold: 1,
651
807
  # }
652
808
  #
653
809
  # @!attribute [rw] type
654
810
  # The type of health check that you want to create, which indicates
655
- # how Amazon Route 53 determines whether an endpoint is healthy.
811
+ # how Route 53 determines whether an endpoint is healthy.
656
812
  #
657
813
  # You can't change the value of `Type` after you create a health
658
814
  # check.
659
815
  #
660
816
  # You can create the following types of health checks:
661
817
  #
662
- # * **HTTP**\: Amazon Route 53 tries to establish a TCP connection. If
663
- # successful, Amazon Route 53 submits an HTTP request and waits for
664
- # an HTTP status code of 200 or greater and less than 400.
818
+ # * **HTTP**\: Route 53 tries to establish a TCP connection. If
819
+ # successful, Route 53 submits an HTTP request and waits for an HTTP
820
+ # status code of 200 or greater and less than 400.
665
821
  #
666
- # * **HTTPS**\: Amazon Route 53 tries to establish a TCP connection.
667
- # If successful, Amazon Route 53 submits an HTTPS request and waits
668
- # for an HTTP status code of 200 or greater and less than 400.
822
+ # * **HTTPS**\: Route 53 tries to establish a TCP connection. If
823
+ # successful, Route 53 submits an HTTPS request and waits for an
824
+ # HTTP status code of 200 or greater and less than 400.
669
825
  #
670
826
  # If you specify HTTPS for the value of `Type`, the endpoint must
671
827
  # support TLS v1.0 or later.
672
828
  #
673
- # * **TCP**\: Amazon Route 53 tries to establish a TCP connection.
829
+ # * **TCP**\: Route 53 tries to establish a TCP connection.
674
830
  #
675
- # For more information, see [How Amazon Route 53 Determines Whether an
676
- # Endpoint Is Healthy][1] in the *Amazon Route 53 Developer Guide*.
831
+ # For more information, see [How Route 53 Determines Whether an
832
+ # Endpoint Is Healthy][1] in the *Route 53 Developer Guide*.
677
833
  #
678
834
  #
679
835
  #
@@ -681,20 +837,20 @@ module Aws::ServiceDiscovery
681
837
  # @return [String]
682
838
  #
683
839
  # @!attribute [rw] resource_path
684
- # The path that you want Amazon Route 53 to request when performing
685
- # health checks. The path can be any value for which your endpoint
686
- # will return an HTTP status code of 2xx or 3xx when the endpoint is
687
- # healthy, such as the file `/docs/route53-health-check.html`. Amazon
688
- # Route 53 automatically adds the DNS name for the service and a
689
- # leading forward slash (`/`) character.
840
+ # The path that you want Route 53 to request when performing health
841
+ # checks. The path can be any value for which your endpoint will
842
+ # return an HTTP status code of 2xx or 3xx when the endpoint is
843
+ # healthy, such as the file `/docs/route53-health-check.html`. Route
844
+ # 53 automatically adds the DNS name for the service and a leading
845
+ # forward slash (`/`) character.
690
846
  # @return [String]
691
847
  #
692
848
  # @!attribute [rw] failure_threshold
693
849
  # The number of consecutive health checks that an endpoint must pass
694
- # or fail for Amazon Route 53 to change the current status of the
695
- # endpoint from unhealthy to healthy or vice versa. For more
696
- # information, see [How Amazon Route 53 Determines Whether an Endpoint
697
- # Is Healthy][1] in the *Amazon Route 53 Developer Guide*.
850
+ # or fail for Route 53 to change the current status of the endpoint
851
+ # from unhealthy to healthy or vice versa. For more information, see
852
+ # [How Route 53 Determines Whether an Endpoint Is Healthy][1] in the
853
+ # *Route 53 Developer Guide*.
698
854
  #
699
855
  #
700
856
  #
@@ -717,41 +873,115 @@ module Aws::ServiceDiscovery
717
873
  # An identifier that you want to associate with the instance. Note the
718
874
  # following:
719
875
  #
876
+ # * If the service that is specified by `ServiceId` includes settings
877
+ # for an SRV record, the value of `InstanceId` is automatically
878
+ # included as part of the value for the SRV record. For more
879
+ # information, see DnsRecord$Type.
880
+ #
720
881
  # * You can use this value to update an existing instance.
721
882
  #
722
- # * To associate a new instance, you must specify a value that is
723
- # unique among instances that you associate by using the same
883
+ # * To register a new instance, you must specify a value that is
884
+ # unique among instances that you register by using the same
724
885
  # service.
886
+ #
887
+ # * If you specify an existing `InstanceId` and `ServiceId`, Route 53
888
+ # updates the existing records. If there's also an existing health
889
+ # check, Route 53 deletes the old health check and creates a new
890
+ # one.
891
+ #
892
+ # <note markdown="1"> The health check isn't deleted immediately, so it will still
893
+ # appear for a while if you submit a `ListHealthChecks` request, for
894
+ # example.
895
+ #
896
+ # </note>
725
897
  # @return [String]
726
898
  #
727
899
  # @!attribute [rw] creator_request_id
728
- # An optional parameter that you can use to resolve concurrent
729
- # creation requests. `CreatorRequestId` helps to determine if a
730
- # specific client owns the namespace.
900
+ # A unique string that identifies the request and that allows failed
901
+ # `RegisterInstance` requests to be retried without the risk of
902
+ # executing the operation twice. You must use a unique
903
+ # `CreatorRequestId` string every time you submit a `RegisterInstance`
904
+ # request if you're registering additional instances for the same
905
+ # namespace and service. `CreatorRequestId` can be any unique string,
906
+ # for example, a date/time stamp.
731
907
  # @return [String]
732
908
  #
733
909
  # @!attribute [rw] attributes
734
- # A string map that contains attribute keys and values. Supported
735
- # attribute keys include the following:
736
- #
737
- # * `AWS_INSTANCE_PORT`\: The port on the endpoint that you want
738
- # Amazon Route 53 to perform health checks on. This value is also
739
- # used for the port value in an SRV record if the service that you
740
- # specify includes an SRV record. For more information, see
741
- # CreateService.
742
- #
743
- # * `AWS_INSTANCE_IP`\: If the service that you specify contains a
744
- # resource record set template for an A or AAAA record, the IP
745
- # address that you want Amazon Route 53 to use for the value of the
746
- # A record.
747
- #
748
- # * `AWS_INSTANCE_WEIGHT`\: The weight value in an SRV record if the
749
- # service that you specify includes an SRV record. You can also
750
- # specify a default weight that is applied to all instances in the
751
- # `Service` configuration. For more information, see CreateService.
752
- #
753
- # * `AWS_INSTANCE_PRIORITY`\: The priority value in an SRV record if
754
- # the service that you specify includes an SRV record.
910
+ # A string map that contains the following information for the service
911
+ # that you specify in `ServiceId`\:
912
+ #
913
+ # * The attributes that apply to the records that are defined in the
914
+ # service.
915
+ #
916
+ # * For each attribute, the applicable value.
917
+ #
918
+ # Supported attribute keys include the following:
919
+ #
920
+ # * `AWS_ALIAS_DNS_NAME`\: If you want Route 53 to create an alias
921
+ # record that routes traffic to an Elastic Load Balancing load
922
+ # balancer, specify the DNS name that is associated with the load
923
+ # balancer. For information about how to get the DNS name, see
924
+ # "DNSName" in the topic [AliasTarget][1].
925
+ #
926
+ # Note the following:
927
+ #
928
+ # * The configuration for the service that is specified by
929
+ # `ServiceId` must include settings for an A record, an AAAA
930
+ # record, or both.
931
+ #
932
+ # * In the service that is specified by `ServiceId`, the value of
933
+ # `RoutingPolicy` must be `WEIGHTED`.
934
+ #
935
+ # * If the service that is specified by `ServiceId` includes
936
+ # `HealthCheckConfig` settings, Route 53 will create the health
937
+ # check, but it won't associate the health check with the alias
938
+ # record.
939
+ #
940
+ # * Auto naming currently doesn't support creating alias records
941
+ # that route traffic to AWS resources other than ELB load
942
+ # balancers.
943
+ #
944
+ # * If you specify a value for `AWS_ALIAS_DNS_NAME`, don't specify
945
+ # values for any of the `AWS_INSTANCE` attributes.
946
+ #
947
+ # * `AWS_INSTANCE_CNAME`\: If the service configuration includes a
948
+ # CNAME record, the domain name that you want Route 53 to return in
949
+ # response to DNS queries, for example, `example.com`.
950
+ #
951
+ # This value is required if the service specified by `ServiceId`
952
+ # includes settings for an CNAME record.
953
+ #
954
+ # * `AWS_INSTANCE_IPV4`\: If the service configuration includes an A
955
+ # record, the IPv4 address that you want Route 53 to return in
956
+ # response to DNS queries, for example, `192.0.2.44`.
957
+ #
958
+ # This value is required if the service specified by `ServiceId`
959
+ # includes settings for an A record. Either `AWS_INSTANCE_IPV4` or
960
+ # `AWS_INSTANCE_IPV6` is required if the service includes settings
961
+ # for an SRV record.
962
+ #
963
+ # * `AWS_INSTANCE_IPV6`\: If the service configuration includes an
964
+ # AAAA record, the IPv6 address that you want Route 53 to return in
965
+ # response to DNS queries, for example,
966
+ # `2001:0db8:85a3:0000:0000:abcd:0001:2345`.
967
+ #
968
+ # This value is required if the service specified by `ServiceId`
969
+ # includes settings for an AAAA record. Either `AWS_INSTANCE_IPV4`
970
+ # or `AWS_INSTANCE_IPV6` is required if the service includes
971
+ # settings for an SRV record.
972
+ #
973
+ # * `AWS_INSTANCE_PORT`\: If the service includes an SRV record, the
974
+ # value that you want Route 53 to return for the port. In addition,
975
+ # if the service includes `HealthCheckConfig`, the port on the
976
+ # endpoint that you want Route 53 to send requests to. For more
977
+ # information, see CreateService.
978
+ #
979
+ # This value is required if you specified settings for an SRV record
980
+ # when you created the service.
981
+ #
982
+ #
983
+ #
984
+ # [1]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html
755
985
  # @return [Hash<String,String>]
756
986
  #
757
987
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/Instance AWS API Documentation
@@ -764,7 +994,7 @@ module Aws::ServiceDiscovery
764
994
  end
765
995
 
766
996
  # A complex type that contains information about the instances that you
767
- # created by using a specified service.
997
+ # registered by using a specified service.
768
998
  #
769
999
  # @!attribute [rw] id
770
1000
  # The ID for an instance that you created by using a specified
@@ -772,19 +1002,33 @@ module Aws::ServiceDiscovery
772
1002
  # @return [String]
773
1003
  #
774
1004
  # @!attribute [rw] attributes
775
- # A string map that contain attribute keys and values for an instance.
1005
+ # A string map that contains the following information:
1006
+ #
1007
+ # * The attributes that are associate with the instance.
1008
+ #
1009
+ # * For each attribute, the applicable value.
1010
+ #
776
1011
  # Supported attribute keys include the following:
777
1012
  #
778
- # * `AWS_INSTANCE_PORT`\: The port on the endpoint that you want
779
- # Amazon Route 53 to perform health checks on. This value is also
780
- # used for the port value in an SRV record if the service that you
781
- # specify includes an SRV record. For more information, see
782
- # CreateService.
1013
+ # * `AWS_ALIAS_DNS_NAME`\: For an alias record that routes traffic to
1014
+ # an Elastic Load Balancing load balancer, the DNS name that is
1015
+ # associated with the load balancer.
1016
+ #
1017
+ # * `AWS_INSTANCE_CNAME`\: For a CNAME record, the domain name that
1018
+ # Route 53 returns in response to DNS queries, for example,
1019
+ # `example.com`.
1020
+ #
1021
+ # * `AWS_INSTANCE_IPV4`\: For an A record, the IPv4 address that Route
1022
+ # 53 returns in response to DNS queries, for example, `192.0.2.44`.
1023
+ #
1024
+ # * `AWS_INSTANCE_IPV6`\: For an AAAA record, the IPv6 address that
1025
+ # Route 53 returns in response to DNS queries, for example,
1026
+ # `2001:0db8:85a3:0000:0000:abcd:0001:2345`.
783
1027
  #
784
- # * `AWS_INSTANCE_IP`\: If the service that you specify contains a
785
- # resource record set template for an A or AAAA record, the IP
786
- # address that you want Amazon Route 53 to use for the value of the
787
- # A record.
1028
+ # * `AWS_INSTANCE_PORT`\: For an SRV record, the value that Route 53
1029
+ # returns for the port. In addition, if the service includes
1030
+ # `HealthCheckConfig`, the port on the endpoint that Route 53 sends
1031
+ # requests to.
788
1032
  # @return [Hash<String,String>]
789
1033
  #
790
1034
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/InstanceSummary AWS API Documentation
@@ -820,7 +1064,7 @@ module Aws::ServiceDiscovery
820
1064
  # @!attribute [rw] max_results
821
1065
  # The maximum number of instances that you want Amazon Route 53 to
822
1066
  # return in the response to a `ListInstances` request. If you don't
823
- # specify a value for `MaxResults`, Amazon Route 53 returns up to 100
1067
+ # specify a value for `MaxResults`, Route 53 returns up to 100
824
1068
  # instances.
825
1069
  # @return [Integer]
826
1070
  #
@@ -871,16 +1115,24 @@ module Aws::ServiceDiscovery
871
1115
  # @!attribute [rw] next_token
872
1116
  # For the first `ListNamespaces` request, omit this value.
873
1117
  #
874
- # If more than `MaxResults` namespaces match the specified criteria,
875
- # you can submit another `ListNamespaces` request to get the next
876
- # group of results. Specify the value of `NextToken` from the previous
877
- # response in the next request.
1118
+ # If the response contains `NextToken`, submit another
1119
+ # `ListNamespaces` request to get the next group of results. Specify
1120
+ # the value of `NextToken` from the previous response in the next
1121
+ # request.
1122
+ #
1123
+ # <note markdown="1"> Route 53 gets `MaxResults` namespaces and then filters them based on
1124
+ # the specified criteria. It's possible that no namespaces in the
1125
+ # first `MaxResults` namespaces matched the specified criteria but
1126
+ # that subsequent groups of `MaxResults` namespaces do contain
1127
+ # namespaces that match the criteria.
1128
+ #
1129
+ # </note>
878
1130
  # @return [String]
879
1131
  #
880
1132
  # @!attribute [rw] max_results
881
1133
  # The maximum number of namespaces that you want Amazon Route 53 to
882
1134
  # return in the response to a `ListNamespaces` request. If you don't
883
- # specify a value for `MaxResults`, Amazon Route 53 returns up to 100
1135
+ # specify a value for `MaxResults`, Route 53 returns up to 100
884
1136
  # namespaces.
885
1137
  # @return [Integer]
886
1138
  #
@@ -888,8 +1140,8 @@ module Aws::ServiceDiscovery
888
1140
  # A complex type that contains specifications for the namespaces that
889
1141
  # you want to list.
890
1142
  #
891
- # If you specify more than one filter, an operation must match all
892
- # filters to be returned by ListNamespaces.
1143
+ # If you specify more than one filter, a namespace must match all
1144
+ # filters to be returned by `ListNamespaces`.
893
1145
  # @return [Array<Types::NamespaceFilter>]
894
1146
  #
895
1147
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListNamespacesRequest AWS API Documentation
@@ -907,10 +1159,18 @@ module Aws::ServiceDiscovery
907
1159
  # @return [Array<Types::NamespaceSummary>]
908
1160
  #
909
1161
  # @!attribute [rw] next_token
910
- # If more than `MaxResults` namespaces match the specified criteria,
911
- # you can submit another `ListNamespaces` request to get the next
912
- # group of results. Specify the value of `NextToken` from the previous
913
- # response in the next request.
1162
+ # If the response contains `NextToken`, submit another
1163
+ # `ListNamespaces` request to get the next group of results. Specify
1164
+ # the value of `NextToken` from the previous response in the next
1165
+ # request.
1166
+ #
1167
+ # <note markdown="1"> Route 53 gets `MaxResults` namespaces and then filters them based on
1168
+ # the specified criteria. It's possible that no namespaces in the
1169
+ # first `MaxResults` namespaces matched the specified criteria but
1170
+ # that subsequent groups of `MaxResults` namespaces do contain
1171
+ # namespaces that match the criteria.
1172
+ #
1173
+ # </note>
914
1174
  # @return [String]
915
1175
  #
916
1176
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListNamespacesResponse AWS API Documentation
@@ -939,17 +1199,24 @@ module Aws::ServiceDiscovery
939
1199
  # @!attribute [rw] next_token
940
1200
  # For the first `ListOperations` request, omit this value.
941
1201
  #
942
- # If more than `MaxResults` operations match the specified criteria,
943
- # you can submit another `ListOperations` request to get the next
944
- # group of results. Specify the value of `NextToken` from the previous
945
- # response in the next request.
1202
+ # If the response contains `NextToken`, submit another
1203
+ # `ListOperations` request to get the next group of results. Specify
1204
+ # the value of `NextToken` from the previous response in the next
1205
+ # request.
1206
+ #
1207
+ # <note markdown="1"> Route 53 gets `MaxResults` operations and then filters them based on
1208
+ # the specified criteria. It's possible that no operations in the
1209
+ # first `MaxResults` operations matched the specified criteria but
1210
+ # that subsequent groups of `MaxResults` operations do contain
1211
+ # operations that match the criteria.
1212
+ #
1213
+ # </note>
946
1214
  # @return [String]
947
1215
  #
948
1216
  # @!attribute [rw] max_results
949
1217
  # The maximum number of items that you want Amazon Route 53 to return
950
1218
  # in the response to a `ListOperations` request. If you don't specify
951
- # a value for `MaxResults`, Amazon Route 53 returns up to 100
952
- # operations.
1219
+ # a value for `MaxResults`, Route 53 returns up to 100 operations.
953
1220
  # @return [Integer]
954
1221
  #
955
1222
  # @!attribute [rw] filters
@@ -976,10 +1243,18 @@ module Aws::ServiceDiscovery
976
1243
  # @return [Array<Types::OperationSummary>]
977
1244
  #
978
1245
  # @!attribute [rw] next_token
979
- # If more than `MaxResults` operations match the specified criteria,
980
- # you can submit another `ListOperations` request to get the next
981
- # group of results. Specify the value of `NextToken` from the previous
982
- # response in the next request.
1246
+ # If the response contains `NextToken`, submit another
1247
+ # `ListOperations` request to get the next group of results. Specify
1248
+ # the value of `NextToken` from the previous response in the next
1249
+ # request.
1250
+ #
1251
+ # <note markdown="1"> Route 53 gets `MaxResults` operations and then filters them based on
1252
+ # the specified criteria. It's possible that no operations in the
1253
+ # first `MaxResults` operations matched the specified criteria but
1254
+ # that subsequent groups of `MaxResults` operations do contain
1255
+ # operations that match the criteria.
1256
+ #
1257
+ # </note>
983
1258
  # @return [String]
984
1259
  #
985
1260
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListOperationsResponse AWS API Documentation
@@ -1008,16 +1283,23 @@ module Aws::ServiceDiscovery
1008
1283
  # @!attribute [rw] next_token
1009
1284
  # For the first `ListServices` request, omit this value.
1010
1285
  #
1011
- # If more than `MaxResults` services match the specified criteria, you
1012
- # can submit another `ListServices` request to get the next group of
1013
- # results. Specify the value of `NextToken` from the previous response
1014
- # in the next request.
1286
+ # If the response contains `NextToken`, submit another `ListServices`
1287
+ # request to get the next group of results. Specify the value of
1288
+ # `NextToken` from the previous response in the next request.
1289
+ #
1290
+ # <note markdown="1"> Route 53 gets `MaxResults` services and then filters them based on
1291
+ # the specified criteria. It's possible that no services in the first
1292
+ # `MaxResults` services matched the specified criteria but that
1293
+ # subsequent groups of `MaxResults` services do contain services that
1294
+ # match the criteria.
1295
+ #
1296
+ # </note>
1015
1297
  # @return [String]
1016
1298
  #
1017
1299
  # @!attribute [rw] max_results
1018
1300
  # The maximum number of services that you want Amazon Route 53 to
1019
1301
  # return in the response to a `ListServices` request. If you don't
1020
- # specify a value for `MaxResults`, Amazon Route 53 returns up to 100
1302
+ # specify a value for `MaxResults`, Route 53 returns up to 100
1021
1303
  # services.
1022
1304
  # @return [Integer]
1023
1305
  #
@@ -1044,11 +1326,17 @@ module Aws::ServiceDiscovery
1044
1326
  # @return [Array<Types::ServiceSummary>]
1045
1327
  #
1046
1328
  # @!attribute [rw] next_token
1047
- # If more than `MaxResults` operations match the specified criteria,
1048
- # the value of `NextToken` is the first service in the next group of
1049
- # services that were created by the current AWS account. To get the
1050
- # next group, specify the value of `NextToken` from the previous
1051
- # response in the next request.
1329
+ # If the response contains `NextToken`, submit another `ListServices`
1330
+ # request to get the next group of results. Specify the value of
1331
+ # `NextToken` from the previous response in the next request.
1332
+ #
1333
+ # <note markdown="1"> Route 53 gets `MaxResults` services and then filters them based on
1334
+ # the specified criteria. It's possible that no services in the first
1335
+ # `MaxResults` services matched the specified criteria but that
1336
+ # subsequent groups of `MaxResults` services do contain services that
1337
+ # match the criteria.
1338
+ #
1339
+ # </note>
1052
1340
  # @return [String]
1053
1341
  #
1054
1342
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListServicesResponse AWS API Documentation
@@ -1066,7 +1354,7 @@ module Aws::ServiceDiscovery
1066
1354
  # @return [String]
1067
1355
  #
1068
1356
  # @!attribute [rw] arn
1069
- # The Amazon Resource Name (ARN) that Amazon Route 53 assigns to the
1357
+ # The Amazon Resource Name (ARN) that Route 53 assigns to the
1070
1358
  # namespace when you create it.
1071
1359
  # @return [String]
1072
1360
  #
@@ -1095,13 +1383,15 @@ module Aws::ServiceDiscovery
1095
1383
  #
1096
1384
  # @!attribute [rw] create_date
1097
1385
  # The date that the namespace was created, in Unix date/time format
1098
- # and Coordinated Universal Time (UTC).
1386
+ # and Coordinated Universal Time (UTC). The value of `CreateDate` is
1387
+ # accurate to milliseconds. For example, the value `1516925490.087`
1388
+ # represents Friday, January 26, 2018 12:11:30.087 AM.
1099
1389
  # @return [Time]
1100
1390
  #
1101
1391
  # @!attribute [rw] creator_request_id
1102
- # An optional parameter that you can use to resolve concurrent
1103
- # creation requests. `CreatorRequestId` helps to determine if a
1104
- # specific client owns the namespace.
1392
+ # A unique string that identifies the request and that allows failed
1393
+ # requests to be retried without the risk of executing an operation
1394
+ # twice.
1105
1395
  # @return [String]
1106
1396
  #
1107
1397
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/Namespace AWS API Documentation
@@ -1154,6 +1444,8 @@ module Aws::ServiceDiscovery
1154
1444
  #
1155
1445
  # * `IN`\: When you specify `IN` for the condition, you can choose to
1156
1446
  # list public namespaces, private namespaces, or both.
1447
+ #
1448
+ # * `BETWEEN`\: Not applicable
1157
1449
  # @return [String]
1158
1450
  #
1159
1451
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/NamespaceFilter AWS API Documentation
@@ -1169,8 +1461,8 @@ module Aws::ServiceDiscovery
1169
1461
  # namespace type.
1170
1462
  #
1171
1463
  # @!attribute [rw] dns_properties
1172
- # A complex type that contains the ID for the hosted zone that Amazon
1173
- # Route 53 creates when you create a namespace.
1464
+ # A complex type that contains the ID for the hosted zone that Route
1465
+ # 53 creates when you create a namespace.
1174
1466
  # @return [Types::DnsProperties]
1175
1467
  #
1176
1468
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/NamespaceProperties AWS API Documentation
@@ -1187,13 +1479,13 @@ module Aws::ServiceDiscovery
1187
1479
  # @return [String]
1188
1480
  #
1189
1481
  # @!attribute [rw] arn
1190
- # The Amazon Resource Name (ARN) that Amazon Route 53 assigns to the
1482
+ # The Amazon Resource Name (ARN) that Route 53 assigns to the
1191
1483
  # namespace when you create it.
1192
1484
  # @return [String]
1193
1485
  #
1194
1486
  # @!attribute [rw] name
1195
- # The name of the namespace. When you create a namespace, Amazon Route
1196
- # 53 automatically creates a hosted zone that has the same name as the
1487
+ # The name of the namespace. When you create a namespace, Route 53
1488
+ # automatically creates a hosted zone that has the same name as the
1197
1489
  # namespace.
1198
1490
  # @return [String]
1199
1491
  #
@@ -1227,7 +1519,7 @@ module Aws::ServiceDiscovery
1227
1519
  # * **SUBMITTED**\: This is the initial state immediately after you
1228
1520
  # submit a request.
1229
1521
  #
1230
- # * **PENDING**\: Amazon Route 53 is performing the operation.
1522
+ # * **PENDING**\: Route 53 is performing the operation.
1231
1523
  #
1232
1524
  # * **SUCCESS**\: The operation succeeded.
1233
1525
  #
@@ -1241,18 +1533,38 @@ module Aws::ServiceDiscovery
1241
1533
  # @return [String]
1242
1534
  #
1243
1535
  # @!attribute [rw] error_code
1244
- # The code associated with `ErrorMessage`.
1536
+ # The code associated with `ErrorMessage`. Values for `ErrorCode`
1537
+ # include the following:
1538
+ #
1539
+ # * `ACCESS_DENIED`
1540
+ #
1541
+ # * `CANNOT_CREATE_HOSTED_ZONE`
1542
+ #
1543
+ # * `EXPIRED_TOKEN`
1544
+ #
1545
+ # * `HOSTED_ZONE_NOT_FOUND`
1546
+ #
1547
+ # * `INTERNAL_FAILURE`
1548
+ #
1549
+ # * `INVALID_CHANGE_BATCH`
1550
+ #
1551
+ # * `THROTTLED_REQUEST`
1245
1552
  # @return [String]
1246
1553
  #
1247
1554
  # @!attribute [rw] create_date
1248
1555
  # The date and time that the request was submitted, in Unix date/time
1249
- # format and Coordinated Universal Time (UTC).
1556
+ # format and Coordinated Universal Time (UTC). The value of
1557
+ # `CreateDate` is accurate to milliseconds. For example, the value
1558
+ # `1516925490.087` represents Friday, January 26, 2018 12:11:30.087
1559
+ # AM.
1250
1560
  # @return [Time]
1251
1561
  #
1252
1562
  # @!attribute [rw] update_date
1253
1563
  # The date and time that the value of `Status` changed to the current
1254
1564
  # value, in Unix date/time format and Coordinated Universal Time
1255
- # (UTC).
1565
+ # (UTC). The value of `UpdateDate` is accurate to milliseconds. For
1566
+ # example, the value `1516925490.087` represents Friday, January 26,
1567
+ # 2018 12:11:30.087 AM.
1256
1568
  # @return [Time]
1257
1569
  #
1258
1570
  # @!attribute [rw] targets
@@ -1345,9 +1657,9 @@ module Aws::ServiceDiscovery
1345
1657
  # `TYPE`. An operation must match one of the specified values to be
1346
1658
  # returned in the response.
1347
1659
  #
1348
- # * `BETWEEN`\: Specify two values, a start date and an end date. The
1349
- # start date must be the first value. `BETWEEN` is supported for
1350
- # `U`.
1660
+ # * `BETWEEN`\: Specify a start date and an end date in Unix date/time
1661
+ # format and Coordinated Universal Time (UTC). The start date must
1662
+ # be the first value. `BETWEEN` is supported for `UPDATE_DATE`.
1351
1663
  # @return [String]
1352
1664
  #
1353
1665
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/OperationFilter AWS API Documentation
@@ -1372,7 +1684,7 @@ module Aws::ServiceDiscovery
1372
1684
  # * **SUBMITTED**\: This is the initial state immediately after you
1373
1685
  # submit a request.
1374
1686
  #
1375
- # * **PENDING**\: Amazon Route 53 is performing the operation.
1687
+ # * **PENDING**\: Route 53 is performing the operation.
1376
1688
  #
1377
1689
  # * **SUCCESS**\: The operation succeeded.
1378
1690
  #
@@ -1402,49 +1714,133 @@ module Aws::ServiceDiscovery
1402
1714
  #
1403
1715
  # @!attribute [rw] service_id
1404
1716
  # The ID of the service that you want to use for settings for the
1405
- # resource record sets and health check that Amazon Route 53 will
1406
- # create.
1717
+ # records and health check that Route 53 will create.
1407
1718
  # @return [String]
1408
1719
  #
1409
1720
  # @!attribute [rw] instance_id
1410
1721
  # An identifier that you want to associate with the instance. Note the
1411
1722
  # following:
1412
1723
  #
1724
+ # * If the service that is specified by `ServiceId` includes settings
1725
+ # for an SRV record, the value of `InstanceId` is automatically
1726
+ # included as part of the value for the SRV record. For more
1727
+ # information, see DnsRecord$Type.
1728
+ #
1413
1729
  # * You can use this value to update an existing instance.
1414
1730
  #
1415
1731
  # * To register a new instance, you must specify a value that is
1416
1732
  # unique among instances that you register by using the same
1417
1733
  # service.
1734
+ #
1735
+ # * If you specify an existing `InstanceId` and `ServiceId`, Route 53
1736
+ # updates the existing records. If there's also an existing health
1737
+ # check, Route 53 deletes the old health check and creates a new
1738
+ # one.
1739
+ #
1740
+ # <note markdown="1"> The health check isn't deleted immediately, so it will still
1741
+ # appear for a while if you submit a `ListHealthChecks` request, for
1742
+ # example.
1743
+ #
1744
+ # </note>
1418
1745
  # @return [String]
1419
1746
  #
1420
1747
  # @!attribute [rw] creator_request_id
1421
- # An optional parameter that you can use to resolve concurrent
1422
- # creation requests. `CreatorRequestId` helps to determine if a
1423
- # specific client owns the namespace.
1748
+ # A unique string that identifies the request and that allows failed
1749
+ # `RegisterInstance` requests to be retried without the risk of
1750
+ # executing the operation twice. You must use a unique
1751
+ # `CreatorRequestId` string every time you submit a `RegisterInstance`
1752
+ # request if you're registering additional instances for the same
1753
+ # namespace and service. `CreatorRequestId` can be any unique string,
1754
+ # for example, a date/time stamp.
1424
1755
  #
1425
1756
  # **A suitable default value is auto-generated.** You should normally
1426
1757
  # not need to pass this option.
1427
1758
  # @return [String]
1428
1759
  #
1429
1760
  # @!attribute [rw] attributes
1430
- # A string map that contain attribute keys and values. Supported
1431
- # attribute keys include the following:
1432
- #
1433
- # * `AWS_INSTANCE_PORT`\: The port on the endpoint that you want
1434
- # Amazon Route 53 to perform health checks on. This value is also
1435
- # used for the port value in an SRV record if the service that you
1436
- # specify includes an SRV record. For more information, see
1437
- # CreateService.
1438
- #
1439
- # * `AWS_INSTANCE_IPV4`\: If the service that you specify contains a
1440
- # resource record set template for an A record, the IPv4 address
1441
- # that you want Amazon Route 53 to use for the value of the A
1442
- # record.
1761
+ # A string map that contains the following information for the service
1762
+ # that you specify in `ServiceId`\:
1443
1763
  #
1444
- # * `AWS_INSTANCE_IPV6`\: If the service that you specify contains a
1445
- # resource record set template for an AAAA record, the IPv6 address
1446
- # that you want Amazon Route 53 to use for the value of the AAAA
1764
+ # * The attributes that apply to the records that are defined in the
1765
+ # service.
1766
+ #
1767
+ # * For each attribute, the applicable value.
1768
+ #
1769
+ # Supported attribute keys include the following:
1770
+ #
1771
+ # **AWS\_ALIAS\_DNS\_NAME**
1772
+ #
1773
+ # ****
1774
+ #
1775
+ # If you want Route 53 to create an alias record that routes traffic
1776
+ # to an Elastic Load Balancing load balancer, specify the DNS name
1777
+ # that is associated with the load balancer. For information about how
1778
+ # to get the DNS name, see "DNSName" in the topic [AliasTarget][1].
1779
+ #
1780
+ # Note the following:
1781
+ #
1782
+ # * The configuration for the service that is specified by `ServiceId`
1783
+ # must include settings for an A record, an AAAA record, or both.
1784
+ #
1785
+ # * In the service that is specified by `ServiceId`, the value of
1786
+ # `RoutingPolicy` must be `WEIGHTED`.
1787
+ #
1788
+ # * If the service that is specified by `ServiceId` includes
1789
+ # `HealthCheckConfig` settings, Route 53 will create the health
1790
+ # check, but it won't associate the health check with the alias
1447
1791
  # record.
1792
+ #
1793
+ # * Auto naming currently doesn't support creating alias records that
1794
+ # route traffic to AWS resources other than ELB load balancers.
1795
+ #
1796
+ # * If you specify a value for `AWS_ALIAS_DNS_NAME`, don't specify
1797
+ # values for any of the `AWS_INSTANCE` attributes.
1798
+ #
1799
+ # **AWS\_INSTANCE\_CNAME**
1800
+ #
1801
+ # If the service configuration includes a CNAME record, the domain
1802
+ # name that you want Route 53 to return in response to DNS queries,
1803
+ # for example, `example.com`.
1804
+ #
1805
+ # This value is required if the service specified by `ServiceId`
1806
+ # includes settings for an CNAME record.
1807
+ #
1808
+ # **AWS\_INSTANCE\_IPV4**
1809
+ #
1810
+ # If the service configuration includes an A record, the IPv4 address
1811
+ # that you want Route 53 to return in response to DNS queries, for
1812
+ # example, `192.0.2.44`.
1813
+ #
1814
+ # This value is required if the service specified by `ServiceId`
1815
+ # includes settings for an A record. Either `AWS_INSTANCE_IPV4` or
1816
+ # `AWS_INSTANCE_IPV6` is required if the service includes settings for
1817
+ # an SRV record.
1818
+ #
1819
+ # **AWS\_INSTANCE\_IPV6**
1820
+ #
1821
+ # If the service configuration includes an AAAA record, the IPv6
1822
+ # address that you want Route 53 to return in response to DNS queries,
1823
+ # for example, `2001:0db8:85a3:0000:0000:abcd:0001:2345`.
1824
+ #
1825
+ # This value is required if the service specified by `ServiceId`
1826
+ # includes settings for an AAAA record. Either `AWS_INSTANCE_IPV4` or
1827
+ # `AWS_INSTANCE_IPV6` is required if the service includes settings for
1828
+ # an SRV record.
1829
+ #
1830
+ # **AWS\_INSTANCE\_PORT**
1831
+ #
1832
+ # If the service includes an SRV record, the value that you want Route
1833
+ # 53 to return for the port.
1834
+ #
1835
+ # If the service includes `HealthCheckConfig`, the port on the
1836
+ # endpoint that you want Route 53 to send requests to.
1837
+ #
1838
+ # This value is required if you specified settings for an SRV record
1839
+ # when you created the service.
1840
+ #
1841
+ #
1842
+ #
1843
+ # [1]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html
1448
1844
  # @return [Hash<String,String>]
1449
1845
  #
1450
1846
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/RegisterInstanceRequest AWS API Documentation
@@ -1472,13 +1868,12 @@ module Aws::ServiceDiscovery
1472
1868
  # A complex type that contains information about the specified service.
1473
1869
  #
1474
1870
  # @!attribute [rw] id
1475
- # The ID that Amazon Route 53 assigned to the service when you created
1476
- # it.
1871
+ # The ID that Route 53 assigned to the service when you created it.
1477
1872
  # @return [String]
1478
1873
  #
1479
1874
  # @!attribute [rw] arn
1480
- # The Amazon Resource Name (ARN) that Amazon Route 53 assigns to the
1481
- # service when you create it.
1875
+ # The Amazon Resource Name (ARN) that Route 53 assigns to the service
1876
+ # when you create it.
1482
1877
  # @return [String]
1483
1878
  #
1484
1879
  # @!attribute [rw] name
@@ -1496,32 +1891,18 @@ module Aws::ServiceDiscovery
1496
1891
  # @return [Integer]
1497
1892
  #
1498
1893
  # @!attribute [rw] dns_config
1499
- # A complex type that contains information about the resource record
1500
- # sets that you want Amazon Route 53 to create when you register an
1501
- # instance.
1894
+ # A complex type that contains information about the records that you
1895
+ # want Route 53 to create when you register an instance.
1502
1896
  # @return [Types::DnsConfig]
1503
1897
  #
1504
1898
  # @!attribute [rw] health_check_config
1505
1899
  # *Public DNS namespaces only.* A complex type that contains settings
1506
1900
  # for an optional health check. If you specify settings for a health
1507
- # check, Amazon Route 53 associates the health check with all the
1508
- # resource record sets that you specify in `DnsConfig`.
1509
- #
1510
- # <note markdown="1"> The health check uses 30 seconds as the request interval. This is
1511
- # the number of seconds between the time that each Amazon Route 53
1512
- # health checker gets a response from your endpoint and the time that
1513
- # it sends the next health check request. A health checker in each
1514
- # data center around the world sends your endpoint a health check
1515
- # request every 30 seconds. On average, your endpoint receives a
1516
- # health check request about every two seconds. Health checkers in
1517
- # different data centers don't coordinate with one another, so
1518
- # you'll sometimes see several requests per second followed by a few
1519
- # seconds with no health checks at all.
1901
+ # check, Route 53 associates the health check with all the records
1902
+ # that you specify in `DnsConfig`.
1520
1903
  #
1521
- # </note>
1522
- #
1523
- # For information about the charges for health checks, see [Amazon
1524
- # Route 53 Pricing][1].
1904
+ # For information about the charges for health checks, see [Route 53
1905
+ # Pricing][1].
1525
1906
  #
1526
1907
  #
1527
1908
  #
@@ -1530,13 +1911,16 @@ module Aws::ServiceDiscovery
1530
1911
  #
1531
1912
  # @!attribute [rw] create_date
1532
1913
  # The date and time that the service was created, in Unix format and
1533
- # Coordinated Universal Time (UTC).
1914
+ # Coordinated Universal Time (UTC). The value of `CreateDate` is
1915
+ # accurate to milliseconds. For example, the value `1516925490.087`
1916
+ # represents Friday, January 26, 2018 12:11:30.087 AM.
1534
1917
  # @return [Time]
1535
1918
  #
1536
1919
  # @!attribute [rw] creator_request_id
1537
- # An optional parameter that you can use to resolve concurrent
1538
- # creation requests. `CreatorRequestId` helps to determine if a
1539
- # specific client owns the namespace.
1920
+ # A unique string that identifies the request and that allows failed
1921
+ # requests to be retried without the risk of executing the operation
1922
+ # twice. `CreatorRequestId` can be any unique string, for example, a
1923
+ # date/time stamp.
1540
1924
  # @return [String]
1541
1925
  #
1542
1926
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/Service AWS API Documentation
@@ -1564,13 +1948,13 @@ module Aws::ServiceDiscovery
1564
1948
  # dns_config: { # required
1565
1949
  # dns_records: [ # required
1566
1950
  # {
1567
- # type: "SRV", # required, accepts SRV, A, AAAA
1951
+ # type: "SRV", # required, accepts SRV, A, AAAA, CNAME
1568
1952
  # ttl: 1, # required
1569
1953
  # },
1570
1954
  # ],
1571
1955
  # },
1572
1956
  # health_check_config: {
1573
- # type: "HTTP", # accepts HTTP, HTTPS, TCP
1957
+ # type: "HTTP", # required, accepts HTTP, HTTPS, TCP
1574
1958
  # resource_path: "ResourcePath",
1575
1959
  # failure_threshold: 1,
1576
1960
  # },
@@ -1581,36 +1965,72 @@ module Aws::ServiceDiscovery
1581
1965
  # @return [String]
1582
1966
  #
1583
1967
  # @!attribute [rw] dns_config
1584
- # A complex type that contains information about the resource record
1585
- # sets that you want Amazon Route 53 to create when you register an
1586
- # instance.
1968
+ # A complex type that contains information about the records that you
1969
+ # want Route 53 to create when you register an instance.
1587
1970
  # @return [Types::DnsConfigChange]
1588
1971
  #
1589
1972
  # @!attribute [rw] health_check_config
1590
1973
  # *Public DNS namespaces only.* A complex type that contains settings
1591
1974
  # for an optional health check. If you specify settings for a health
1592
1975
  # check, Amazon Route 53 associates the health check with all the
1593
- # resource record sets that you specify in `DnsConfig`.
1594
- #
1595
- # <note markdown="1"> The health check uses 30 seconds as the request interval. This is
1596
- # the number of seconds between the time that each Amazon Route 53
1597
- # health checker gets a response from your endpoint and the time that
1598
- # it sends the next health check request. A health checker in each
1599
- # data center around the world sends your endpoint a health check
1600
- # request every 30 seconds. On average, your endpoint receives a
1601
- # health check request about every two seconds. Health checkers in
1602
- # different data centers don't coordinate with one another, so
1603
- # you'll sometimes see several requests per second followed by a few
1604
- # seconds with no health checks at all.
1976
+ # records that you specify in `DnsConfig`.
1605
1977
  #
1606
- # </note>
1978
+ # **A and AAAA records**
1607
1979
  #
1608
- # For information about the charges for health checks, see [Amazon
1609
- # Route 53 Pricing][1].
1980
+ # If `DnsConfig` includes configurations for both A and AAAA records,
1981
+ # Route 53 creates a health check that uses the IPv4 address to check
1982
+ # the health of the resource. If the endpoint that is specified by the
1983
+ # IPv4 address is unhealthy, Route 53 considers both the A and AAAA
1984
+ # records to be unhealthy.
1610
1985
  #
1986
+ # **CNAME records**
1611
1987
  #
1988
+ # You can't specify settings for `HealthCheckConfig` when the
1989
+ # `DNSConfig` includes `CNAME` for the value of `Type`. If you do, the
1990
+ # `CreateService` request will fail with an `InvalidInput` error.
1612
1991
  #
1613
- # [1]: http://aws.amazon.com/route53/pricing
1992
+ # **Request interval**
1993
+ #
1994
+ # The health check uses 30 seconds as the request interval. This is
1995
+ # the number of seconds between the time that each Route 53 health
1996
+ # checker gets a response from your endpoint and the time that it
1997
+ # sends the next health check request. A health checker in each data
1998
+ # center around the world sends your endpoint a health check request
1999
+ # every 30 seconds. On average, your endpoint receives a health check
2000
+ # request about every two seconds. Health checkers in different data
2001
+ # centers don't coordinate with one another, so you'll sometimes see
2002
+ # several requests per second followed by a few seconds with no health
2003
+ # checks at all.
2004
+ #
2005
+ # **Health checking regions**
2006
+ #
2007
+ # Health checkers perform checks from all Route 53 health-checking
2008
+ # regions. For a list of the current regions, see [Regions][1].
2009
+ #
2010
+ # **Alias records**
2011
+ #
2012
+ # When you register an instance, if you include the
2013
+ # `AWS_ALIAS_DNS_NAME` attribute, Route 53 creates an alias record.
2014
+ # Note the following:
2015
+ #
2016
+ # * Route 53 automatically sets `EvaluateTargetHealth` to true for
2017
+ # alias records. When `EvaluateTargetHealth` is true, the alias
2018
+ # record inherits the health of the referenced AWS resource. such as
2019
+ # an ELB load balancer. For more information, see
2020
+ # [EvaluateTargetHealth][2].
2021
+ #
2022
+ # * If you include `HealthCheckConfig` and then use the service to
2023
+ # register an instance that creates an alias record, Route 53
2024
+ # doesn't create the health check.
2025
+ #
2026
+ # For information about the charges for health checks, see [Route 53
2027
+ # Pricing][3].
2028
+ #
2029
+ #
2030
+ #
2031
+ # [1]: http://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-Regions
2032
+ # [2]: http://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-EvaluateTargetHealth
2033
+ # [3]: http://aws.amazon.com/route53/pricing
1614
2034
  # @return [Types::HealthCheckConfig]
1615
2035
  #
1616
2036
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ServiceChange AWS API Documentation
@@ -1654,6 +2074,8 @@ module Aws::ServiceDiscovery
1654
2074
  # * `IN`\: When you specify `IN`, specify a list of the IDs for the
1655
2075
  # namespaces that you want `ListServices` to return a list of
1656
2076
  # services for.
2077
+ #
2078
+ # * `BETWEEN`\: Not applicable.
1657
2079
  # @return [String]
1658
2080
  #
1659
2081
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ServiceFilter AWS API Documentation
@@ -1668,13 +2090,12 @@ module Aws::ServiceDiscovery
1668
2090
  # A complex type that contains information about a specified service.
1669
2091
  #
1670
2092
  # @!attribute [rw] id
1671
- # The ID that Amazon Route 53 assigned to the service when you created
1672
- # it.
2093
+ # The ID that Route 53 assigned to the service when you created it.
1673
2094
  # @return [String]
1674
2095
  #
1675
2096
  # @!attribute [rw] arn
1676
- # The Amazon Resource Name (ARN) that Amazon Route 53 assigns to the
1677
- # service when you create it.
2097
+ # The Amazon Resource Name (ARN) that Route 53 assigns to the service
2098
+ # when you create it.
1678
2099
  # @return [String]
1679
2100
  #
1680
2101
  # @!attribute [rw] name
@@ -1712,13 +2133,13 @@ module Aws::ServiceDiscovery
1712
2133
  # dns_config: { # required
1713
2134
  # dns_records: [ # required
1714
2135
  # {
1715
- # type: "SRV", # required, accepts SRV, A, AAAA
2136
+ # type: "SRV", # required, accepts SRV, A, AAAA, CNAME
1716
2137
  # ttl: 1, # required
1717
2138
  # },
1718
2139
  # ],
1719
2140
  # },
1720
2141
  # health_check_config: {
1721
- # type: "HTTP", # accepts HTTP, HTTPS, TCP
2142
+ # type: "HTTP", # required, accepts HTTP, HTTPS, TCP
1722
2143
  # resource_path: "ResourcePath",
1723
2144
  # failure_threshold: 1,
1724
2145
  # },