aws-sdk-servicediscovery 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
  # },