aws-sdk-servicediscovery 1.8.0 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -16,6 +16,8 @@ module Aws::ServiceDiscovery
16
16
  AttrValue = Shapes::StringShape.new(name: 'AttrValue')
17
17
  Attributes = Shapes::MapShape.new(name: 'Attributes')
18
18
  Code = Shapes::StringShape.new(name: 'Code')
19
+ CreateHttpNamespaceRequest = Shapes::StructureShape.new(name: 'CreateHttpNamespaceRequest')
20
+ CreateHttpNamespaceResponse = Shapes::StructureShape.new(name: 'CreateHttpNamespaceResponse')
19
21
  CreatePrivateDnsNamespaceRequest = Shapes::StructureShape.new(name: 'CreatePrivateDnsNamespaceRequest')
20
22
  CreatePrivateDnsNamespaceResponse = Shapes::StructureShape.new(name: 'CreatePrivateDnsNamespaceResponse')
21
23
  CreatePublicDnsNamespaceRequest = Shapes::StructureShape.new(name: 'CreatePublicDnsNamespaceRequest')
@@ -30,6 +32,8 @@ module Aws::ServiceDiscovery
30
32
  DeleteServiceResponse = Shapes::StructureShape.new(name: 'DeleteServiceResponse')
31
33
  DeregisterInstanceRequest = Shapes::StructureShape.new(name: 'DeregisterInstanceRequest')
32
34
  DeregisterInstanceResponse = Shapes::StructureShape.new(name: 'DeregisterInstanceResponse')
35
+ DiscoverInstancesRequest = Shapes::StructureShape.new(name: 'DiscoverInstancesRequest')
36
+ DiscoverInstancesResponse = Shapes::StructureShape.new(name: 'DiscoverInstancesResponse')
33
37
  DnsConfig = Shapes::StructureShape.new(name: 'DnsConfig')
34
38
  DnsConfigChange = Shapes::StructureShape.new(name: 'DnsConfigChange')
35
39
  DnsProperties = Shapes::StructureShape.new(name: 'DnsProperties')
@@ -55,6 +59,10 @@ module Aws::ServiceDiscovery
55
59
  HealthCheckCustomConfig = Shapes::StructureShape.new(name: 'HealthCheckCustomConfig')
56
60
  HealthCheckType = Shapes::StringShape.new(name: 'HealthCheckType')
57
61
  HealthStatus = Shapes::StringShape.new(name: 'HealthStatus')
62
+ HealthStatusFilter = Shapes::StringShape.new(name: 'HealthStatusFilter')
63
+ HttpInstanceSummary = Shapes::StructureShape.new(name: 'HttpInstanceSummary')
64
+ HttpInstanceSummaryList = Shapes::ListShape.new(name: 'HttpInstanceSummaryList')
65
+ HttpProperties = Shapes::StructureShape.new(name: 'HttpProperties')
58
66
  Instance = Shapes::StructureShape.new(name: 'Instance')
59
67
  InstanceHealthStatusMap = Shapes::MapShape.new(name: 'InstanceHealthStatusMap')
60
68
  InstanceIdList = Shapes::ListShape.new(name: 'InstanceIdList')
@@ -125,6 +133,14 @@ module Aws::ServiceDiscovery
125
133
  Attributes.key = Shapes::ShapeRef.new(shape: AttrKey)
126
134
  Attributes.value = Shapes::ShapeRef.new(shape: AttrValue)
127
135
 
136
+ CreateHttpNamespaceRequest.add_member(:name, Shapes::ShapeRef.new(shape: NamespaceName, required: true, location_name: "Name"))
137
+ CreateHttpNamespaceRequest.add_member(:creator_request_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "CreatorRequestId", metadata: {"idempotencyToken"=>true}))
138
+ CreateHttpNamespaceRequest.add_member(:description, Shapes::ShapeRef.new(shape: ResourceDescription, location_name: "Description"))
139
+ CreateHttpNamespaceRequest.struct_class = Types::CreateHttpNamespaceRequest
140
+
141
+ CreateHttpNamespaceResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
142
+ CreateHttpNamespaceResponse.struct_class = Types::CreateHttpNamespaceResponse
143
+
128
144
  CreatePrivateDnsNamespaceRequest.add_member(:name, Shapes::ShapeRef.new(shape: NamespaceName, required: true, location_name: "Name"))
129
145
  CreatePrivateDnsNamespaceRequest.add_member(:creator_request_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "CreatorRequestId", metadata: {"idempotencyToken"=>true}))
130
146
  CreatePrivateDnsNamespaceRequest.add_member(:description, Shapes::ShapeRef.new(shape: ResourceDescription, location_name: "Description"))
@@ -143,9 +159,10 @@ module Aws::ServiceDiscovery
143
159
  CreatePublicDnsNamespaceResponse.struct_class = Types::CreatePublicDnsNamespaceResponse
144
160
 
145
161
  CreateServiceRequest.add_member(:name, Shapes::ShapeRef.new(shape: ServiceName, required: true, location_name: "Name"))
162
+ CreateServiceRequest.add_member(:namespace_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "NamespaceId"))
146
163
  CreateServiceRequest.add_member(:creator_request_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "CreatorRequestId", metadata: {"idempotencyToken"=>true}))
147
164
  CreateServiceRequest.add_member(:description, Shapes::ShapeRef.new(shape: ResourceDescription, location_name: "Description"))
148
- CreateServiceRequest.add_member(:dns_config, Shapes::ShapeRef.new(shape: DnsConfig, required: true, location_name: "DnsConfig"))
165
+ CreateServiceRequest.add_member(:dns_config, Shapes::ShapeRef.new(shape: DnsConfig, location_name: "DnsConfig"))
149
166
  CreateServiceRequest.add_member(:health_check_config, Shapes::ShapeRef.new(shape: HealthCheckConfig, location_name: "HealthCheckConfig"))
150
167
  CreateServiceRequest.add_member(:health_check_custom_config, Shapes::ShapeRef.new(shape: HealthCheckCustomConfig, location_name: "HealthCheckCustomConfig"))
151
168
  CreateServiceRequest.struct_class = Types::CreateServiceRequest
@@ -171,7 +188,17 @@ module Aws::ServiceDiscovery
171
188
  DeregisterInstanceResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
172
189
  DeregisterInstanceResponse.struct_class = Types::DeregisterInstanceResponse
173
190
 
174
- DnsConfig.add_member(:namespace_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "NamespaceId"))
191
+ DiscoverInstancesRequest.add_member(:namespace_name, Shapes::ShapeRef.new(shape: NamespaceName, required: true, location_name: "NamespaceName"))
192
+ DiscoverInstancesRequest.add_member(:service_name, Shapes::ShapeRef.new(shape: ServiceName, required: true, location_name: "ServiceName"))
193
+ DiscoverInstancesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
194
+ DiscoverInstancesRequest.add_member(:query_parameters, Shapes::ShapeRef.new(shape: Attributes, location_name: "QueryParameters"))
195
+ DiscoverInstancesRequest.add_member(:health_status, Shapes::ShapeRef.new(shape: HealthStatusFilter, location_name: "HealthStatus"))
196
+ DiscoverInstancesRequest.struct_class = Types::DiscoverInstancesRequest
197
+
198
+ DiscoverInstancesResponse.add_member(:instances, Shapes::ShapeRef.new(shape: HttpInstanceSummaryList, location_name: "Instances"))
199
+ DiscoverInstancesResponse.struct_class = Types::DiscoverInstancesResponse
200
+
201
+ DnsConfig.add_member(:namespace_id, Shapes::ShapeRef.new(shape: ResourceId, deprecated: true, location_name: "NamespaceId", metadata: {"deprecatedMessage"=>"Top level attribute in request should be used to reference namespace-id"}))
175
202
  DnsConfig.add_member(:routing_policy, Shapes::ShapeRef.new(shape: RoutingPolicy, location_name: "RoutingPolicy"))
176
203
  DnsConfig.add_member(:dns_records, Shapes::ShapeRef.new(shape: DnsRecordList, required: true, location_name: "DnsRecords"))
177
204
  DnsConfig.struct_class = Types::DnsConfig
@@ -225,7 +252,7 @@ module Aws::ServiceDiscovery
225
252
  GetServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "Service"))
226
253
  GetServiceResponse.struct_class = Types::GetServiceResponse
227
254
 
228
- HealthCheckConfig.add_member(:type, Shapes::ShapeRef.new(shape: HealthCheckType, location_name: "Type"))
255
+ HealthCheckConfig.add_member(:type, Shapes::ShapeRef.new(shape: HealthCheckType, required: true, location_name: "Type"))
229
256
  HealthCheckConfig.add_member(:resource_path, Shapes::ShapeRef.new(shape: ResourcePath, location_name: "ResourcePath"))
230
257
  HealthCheckConfig.add_member(:failure_threshold, Shapes::ShapeRef.new(shape: FailureThreshold, location_name: "FailureThreshold"))
231
258
  HealthCheckConfig.struct_class = Types::HealthCheckConfig
@@ -233,6 +260,18 @@ module Aws::ServiceDiscovery
233
260
  HealthCheckCustomConfig.add_member(:failure_threshold, Shapes::ShapeRef.new(shape: FailureThreshold, location_name: "FailureThreshold"))
234
261
  HealthCheckCustomConfig.struct_class = Types::HealthCheckCustomConfig
235
262
 
263
+ HttpInstanceSummary.add_member(:instance_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "InstanceId"))
264
+ HttpInstanceSummary.add_member(:namespace_name, Shapes::ShapeRef.new(shape: NamespaceName, location_name: "NamespaceName"))
265
+ HttpInstanceSummary.add_member(:service_name, Shapes::ShapeRef.new(shape: ServiceName, location_name: "ServiceName"))
266
+ HttpInstanceSummary.add_member(:health_status, Shapes::ShapeRef.new(shape: HealthStatus, location_name: "HealthStatus"))
267
+ HttpInstanceSummary.add_member(:attributes, Shapes::ShapeRef.new(shape: Attributes, location_name: "Attributes"))
268
+ HttpInstanceSummary.struct_class = Types::HttpInstanceSummary
269
+
270
+ HttpInstanceSummaryList.member = Shapes::ShapeRef.new(shape: HttpInstanceSummary)
271
+
272
+ HttpProperties.add_member(:http_name, Shapes::ShapeRef.new(shape: NamespaceName, location_name: "HttpName"))
273
+ HttpProperties.struct_class = Types::HttpProperties
274
+
236
275
  Instance.add_member(:id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "Id"))
237
276
  Instance.add_member(:creator_request_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "CreatorRequestId"))
238
277
  Instance.add_member(:attributes, Shapes::ShapeRef.new(shape: Attributes, location_name: "Attributes"))
@@ -304,6 +343,7 @@ module Aws::ServiceDiscovery
304
343
  NamespaceFilters.member = Shapes::ShapeRef.new(shape: NamespaceFilter)
305
344
 
306
345
  NamespaceProperties.add_member(:dns_properties, Shapes::ShapeRef.new(shape: DnsProperties, location_name: "DnsProperties"))
346
+ NamespaceProperties.add_member(:http_properties, Shapes::ShapeRef.new(shape: HttpProperties, location_name: "HttpProperties"))
307
347
  NamespaceProperties.struct_class = Types::NamespaceProperties
308
348
 
309
349
  NamespaceSummariesList.member = Shapes::ShapeRef.new(shape: NamespaceSummary)
@@ -312,6 +352,10 @@ module Aws::ServiceDiscovery
312
352
  NamespaceSummary.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, location_name: "Arn"))
313
353
  NamespaceSummary.add_member(:name, Shapes::ShapeRef.new(shape: NamespaceName, location_name: "Name"))
314
354
  NamespaceSummary.add_member(:type, Shapes::ShapeRef.new(shape: NamespaceType, location_name: "Type"))
355
+ NamespaceSummary.add_member(:description, Shapes::ShapeRef.new(shape: ResourceDescription, location_name: "Description"))
356
+ NamespaceSummary.add_member(:service_count, Shapes::ShapeRef.new(shape: ResourceCount, location_name: "ServiceCount"))
357
+ NamespaceSummary.add_member(:properties, Shapes::ShapeRef.new(shape: NamespaceProperties, location_name: "Properties"))
358
+ NamespaceSummary.add_member(:create_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreateDate"))
315
359
  NamespaceSummary.struct_class = Types::NamespaceSummary
316
360
 
317
361
  Operation.add_member(:id, Shapes::ShapeRef.new(shape: OperationId, location_name: "Id"))
@@ -352,6 +396,7 @@ module Aws::ServiceDiscovery
352
396
  Service.add_member(:id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "Id"))
353
397
  Service.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, location_name: "Arn"))
354
398
  Service.add_member(:name, Shapes::ShapeRef.new(shape: ServiceName, location_name: "Name"))
399
+ Service.add_member(:namespace_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "NamespaceId"))
355
400
  Service.add_member(:description, Shapes::ShapeRef.new(shape: ResourceDescription, location_name: "Description"))
356
401
  Service.add_member(:instance_count, Shapes::ShapeRef.new(shape: ResourceCount, location_name: "InstanceCount"))
357
402
  Service.add_member(:dns_config, Shapes::ShapeRef.new(shape: DnsConfig, location_name: "DnsConfig"))
@@ -380,6 +425,10 @@ module Aws::ServiceDiscovery
380
425
  ServiceSummary.add_member(:name, Shapes::ShapeRef.new(shape: ServiceName, location_name: "Name"))
381
426
  ServiceSummary.add_member(:description, Shapes::ShapeRef.new(shape: ResourceDescription, location_name: "Description"))
382
427
  ServiceSummary.add_member(:instance_count, Shapes::ShapeRef.new(shape: ResourceCount, location_name: "InstanceCount"))
428
+ ServiceSummary.add_member(:dns_config, Shapes::ShapeRef.new(shape: DnsConfig, location_name: "DnsConfig"))
429
+ ServiceSummary.add_member(:health_check_config, Shapes::ShapeRef.new(shape: HealthCheckConfig, location_name: "HealthCheckConfig"))
430
+ ServiceSummary.add_member(:health_check_custom_config, Shapes::ShapeRef.new(shape: HealthCheckCustomConfig, location_name: "HealthCheckCustomConfig"))
431
+ ServiceSummary.add_member(:create_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreateDate"))
383
432
  ServiceSummary.struct_class = Types::ServiceSummary
384
433
 
385
434
  UpdateInstanceCustomHealthStatusRequest.add_member(:service_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ServiceId"))
@@ -406,13 +455,25 @@ module Aws::ServiceDiscovery
406
455
  "jsonVersion" => "1.1",
407
456
  "protocol" => "json",
408
457
  "serviceAbbreviation" => "ServiceDiscovery",
409
- "serviceFullName" => "Amazon Route 53 Auto Naming",
458
+ "serviceFullName" => "AWS Cloud Map",
410
459
  "serviceId" => "ServiceDiscovery",
411
460
  "signatureVersion" => "v4",
412
461
  "targetPrefix" => "Route53AutoNaming_v20170314",
413
462
  "uid" => "servicediscovery-2017-03-14",
414
463
  }
415
464
 
465
+ api.add_operation(:create_http_namespace, Seahorse::Model::Operation.new.tap do |o|
466
+ o.name = "CreateHttpNamespace"
467
+ o.http_method = "POST"
468
+ o.http_request_uri = "/"
469
+ o.input = Shapes::ShapeRef.new(shape: CreateHttpNamespaceRequest)
470
+ o.output = Shapes::ShapeRef.new(shape: CreateHttpNamespaceResponse)
471
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInput)
472
+ o.errors << Shapes::ShapeRef.new(shape: NamespaceAlreadyExists)
473
+ o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceeded)
474
+ o.errors << Shapes::ShapeRef.new(shape: DuplicateRequest)
475
+ end)
476
+
416
477
  api.add_operation(:create_private_dns_namespace, Seahorse::Model::Operation.new.tap do |o|
417
478
  o.name = "CreatePrivateDnsNamespace"
418
479
  o.http_method = "POST"
@@ -485,6 +546,20 @@ module Aws::ServiceDiscovery
485
546
  o.errors << Shapes::ShapeRef.new(shape: ServiceNotFound)
486
547
  end)
487
548
 
549
+ api.add_operation(:discover_instances, Seahorse::Model::Operation.new.tap do |o|
550
+ o.name = "DiscoverInstances"
551
+ o.http_method = "POST"
552
+ o.http_request_uri = "/"
553
+ o.endpoint_pattern = {
554
+ "hostPrefix" => "data-",
555
+ }
556
+ o.input = Shapes::ShapeRef.new(shape: DiscoverInstancesRequest)
557
+ o.output = Shapes::ShapeRef.new(shape: DiscoverInstancesResponse)
558
+ o.errors << Shapes::ShapeRef.new(shape: ServiceNotFound)
559
+ o.errors << Shapes::ShapeRef.new(shape: NamespaceNotFound)
560
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInput)
561
+ end)
562
+
488
563
  api.add_operation(:get_instance, Seahorse::Model::Operation.new.tap do |o|
489
564
  o.name = "GetInstance"
490
565
  o.http_method = "POST"
@@ -529,6 +604,7 @@ module Aws::ServiceDiscovery
529
604
  o.http_request_uri = "/"
530
605
  o.input = Shapes::ShapeRef.new(shape: GetOperationRequest)
531
606
  o.output = Shapes::ShapeRef.new(shape: GetOperationResponse)
607
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInput)
532
608
  o.errors << Shapes::ShapeRef.new(shape: OperationNotFound)
533
609
  end)
534
610
 
@@ -8,6 +8,54 @@
8
8
  module Aws::ServiceDiscovery
9
9
  module Types
10
10
 
11
+ # @note When making an API call, you may pass CreateHttpNamespaceRequest
12
+ # data as a hash:
13
+ #
14
+ # {
15
+ # name: "NamespaceName", # required
16
+ # creator_request_id: "ResourceId",
17
+ # description: "ResourceDescription",
18
+ # }
19
+ #
20
+ # @!attribute [rw] name
21
+ # The name that you want to assign to this namespace.
22
+ # @return [String]
23
+ #
24
+ # @!attribute [rw] creator_request_id
25
+ # A unique string that identifies the request and that allows failed
26
+ # `CreateHttpNamespace` requests to be retried without the risk of
27
+ # executing the operation twice. `CreatorRequestId` can be any unique
28
+ # string, for example, a date/time stamp.
29
+ #
30
+ # **A suitable default value is auto-generated.** You should normally
31
+ # not need to pass this option.
32
+ # @return [String]
33
+ #
34
+ # @!attribute [rw] description
35
+ # A description for the namespace.
36
+ # @return [String]
37
+ #
38
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateHttpNamespaceRequest AWS API Documentation
39
+ #
40
+ class CreateHttpNamespaceRequest < Struct.new(
41
+ :name,
42
+ :creator_request_id,
43
+ :description)
44
+ include Aws::Structure
45
+ end
46
+
47
+ # @!attribute [rw] operation_id
48
+ # A value that you can use to determine whether the request completed
49
+ # successfully. To get the status of the operation, see GetOperation.
50
+ # @return [String]
51
+ #
52
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateHttpNamespaceResponse AWS API Documentation
53
+ #
54
+ class CreateHttpNamespaceResponse < Struct.new(
55
+ :operation_id)
56
+ include Aws::Structure
57
+ end
58
+
11
59
  # @note When making an API call, you may pass CreatePrivateDnsNamespaceRequest
12
60
  # data as a hash:
13
61
  #
@@ -20,8 +68,9 @@ module Aws::ServiceDiscovery
20
68
  #
21
69
  # @!attribute [rw] name
22
70
  # The name that you want to assign to this namespace. When you create
23
- # a namespace, Amazon Route 53 automatically creates a hosted zone
24
- # that has the same name as the namespace.
71
+ # a private DNS namespace, AWS Cloud Map automatically creates an
72
+ # Amazon Route 53 private hosted zone that has the same name as the
73
+ # namespace.
25
74
  # @return [String]
26
75
  #
27
76
  # @!attribute [rw] creator_request_id
@@ -118,10 +167,11 @@ module Aws::ServiceDiscovery
118
167
  #
119
168
  # {
120
169
  # name: "ServiceName", # required
170
+ # namespace_id: "ResourceId",
121
171
  # creator_request_id: "ResourceId",
122
172
  # description: "ResourceDescription",
123
- # dns_config: { # required
124
- # namespace_id: "ResourceId", # required
173
+ # dns_config: {
174
+ # namespace_id: "ResourceId",
125
175
  # routing_policy: "MULTIVALUE", # accepts MULTIVALUE, WEIGHTED
126
176
  # dns_records: [ # required
127
177
  # {
@@ -131,7 +181,7 @@ module Aws::ServiceDiscovery
131
181
  # ],
132
182
  # },
133
183
  # health_check_config: {
134
- # type: "HTTP", # accepts HTTP, HTTPS, TCP
184
+ # type: "HTTP", # required, accepts HTTP, HTTPS, TCP
135
185
  # resource_path: "ResourcePath",
136
186
  # failure_threshold: 1,
137
187
  # },
@@ -144,6 +194,10 @@ module Aws::ServiceDiscovery
144
194
  # The name that you want to assign to the service.
145
195
  # @return [String]
146
196
  #
197
+ # @!attribute [rw] namespace_id
198
+ # The ID of the namespace that you want to use to create the service.
199
+ # @return [String]
200
+ #
147
201
  # @!attribute [rw] creator_request_id
148
202
  # A unique string that identifies the request and that allows failed
149
203
  # `CreateService` requests to be retried without the risk of executing
@@ -159,31 +213,41 @@ module Aws::ServiceDiscovery
159
213
  # @return [String]
160
214
  #
161
215
  # @!attribute [rw] dns_config
162
- # A complex type that contains information about the records that you
163
- # want Route 53 to create when you register an instance.
216
+ # A complex type that contains information about the Amazon Route 53
217
+ # records that you want AWS Cloud Map to create when you register an
218
+ # instance.
164
219
  # @return [Types::DnsConfig]
165
220
  #
166
221
  # @!attribute [rw] health_check_config
167
222
  # *Public DNS namespaces only.* A complex type that contains settings
168
- # for an optional health check. If you specify settings for a health
169
- # check, Route 53 associates the health check with all the records
170
- # that you specify in `DnsConfig`.
223
+ # for an optional Route 53 health check. If you specify settings for a
224
+ # health check, AWS Cloud Map associates the health check with all the
225
+ # Route 53 DNS records that you specify in `DnsConfig`.
171
226
  #
172
- # For information about the charges for health checks, see [Route 53
173
- # Pricing][1].
227
+ # If you specify a health check configuration, you can specify either
228
+ # `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
174
229
  #
230
+ # For information about the charges for health checks, see [AWS Cloud
231
+ # Map Pricing][1].
175
232
  #
176
233
  #
177
- # [1]: http://aws.amazon.com/route53/pricing
234
+ #
235
+ # [1]: http://aws.amazon.com/cloud-map/pricing/
178
236
  # @return [Types::HealthCheckConfig]
179
237
  #
180
238
  # @!attribute [rw] health_check_custom_config
239
+ # A complex type that contains information about an optional custom
240
+ # health check.
241
+ #
242
+ # If you specify a health check configuration, you can specify either
243
+ # `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
181
244
  # @return [Types::HealthCheckCustomConfig]
182
245
  #
183
246
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateServiceRequest AWS API Documentation
184
247
  #
185
248
  class CreateServiceRequest < Struct.new(
186
249
  :name,
250
+ :namespace_id,
187
251
  :creator_request_id,
188
252
  :description,
189
253
  :dns_config,
@@ -292,14 +356,78 @@ module Aws::ServiceDiscovery
292
356
  include Aws::Structure
293
357
  end
294
358
 
295
- # A complex type that contains information about the records that you
296
- # want Amazon Route 53 to create when you register an instance.
359
+ # @note When making an API call, you may pass DiscoverInstancesRequest
360
+ # data as a hash:
361
+ #
362
+ # {
363
+ # namespace_name: "NamespaceName", # required
364
+ # service_name: "ServiceName", # required
365
+ # max_results: 1,
366
+ # query_parameters: {
367
+ # "AttrKey" => "AttrValue",
368
+ # },
369
+ # health_status: "HEALTHY", # accepts HEALTHY, UNHEALTHY, ALL
370
+ # }
371
+ #
372
+ # @!attribute [rw] namespace_name
373
+ # The name of the namespace that you specified when you registered the
374
+ # instance.
375
+ # @return [String]
376
+ #
377
+ # @!attribute [rw] service_name
378
+ # The name of the service that you specified when you registered the
379
+ # instance.
380
+ # @return [String]
381
+ #
382
+ # @!attribute [rw] max_results
383
+ # The maximum number of instances that you want Cloud Map to return in
384
+ # the response to a `DiscoverInstances` request. If you don't specify
385
+ # a value for `MaxResults`, Cloud Map returns up to 100 instances.
386
+ # @return [Integer]
387
+ #
388
+ # @!attribute [rw] query_parameters
389
+ # A string map that contains attributes with values that you can use
390
+ # to filter instances by any custom attribute that you specified when
391
+ # you registered the instance. Only instances that match all the
392
+ # specified key/value pairs will be returned.
393
+ # @return [Hash<String,String>]
394
+ #
395
+ # @!attribute [rw] health_status
396
+ # The health status of the instances that you want to discover.
397
+ # @return [String]
398
+ #
399
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DiscoverInstancesRequest AWS API Documentation
400
+ #
401
+ class DiscoverInstancesRequest < Struct.new(
402
+ :namespace_name,
403
+ :service_name,
404
+ :max_results,
405
+ :query_parameters,
406
+ :health_status)
407
+ include Aws::Structure
408
+ end
409
+
410
+ # @!attribute [rw] instances
411
+ # A complex type that contains one `HttpInstanceSummary` for each
412
+ # registered instance.
413
+ # @return [Array<Types::HttpInstanceSummary>]
414
+ #
415
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DiscoverInstancesResponse AWS API Documentation
416
+ #
417
+ class DiscoverInstancesResponse < Struct.new(
418
+ :instances)
419
+ include Aws::Structure
420
+ end
421
+
422
+ # A complex type that contains information about the Amazon Route 53 DNS
423
+ # records that you want AWS Cloud Map to create when you register an
424
+ # instance.
297
425
  #
298
426
  # @note When making an API call, you may pass DnsConfig
299
427
  # data as a hash:
300
428
  #
301
429
  # {
302
- # namespace_id: "ResourceId", # required
430
+ # namespace_id: "ResourceId",
303
431
  # routing_policy: "MULTIVALUE", # accepts MULTIVALUE, WEIGHTED
304
432
  # dns_records: [ # required
305
433
  # {
@@ -314,8 +442,9 @@ module Aws::ServiceDiscovery
314
442
  # @return [String]
315
443
  #
316
444
  # @!attribute [rw] routing_policy
317
- # The routing policy that you want to apply to all records that Route
318
- # 53 creates when you register an instance and specify this service.
445
+ # The routing policy that you want to apply to all Route 53 DNS
446
+ # records that AWS Cloud Map creates when you register an instance and
447
+ # specify this service.
319
448
  #
320
449
  # <note markdown="1"> If you want to use this service to register instances that create
321
450
  # alias records, specify `WEIGHTED` for the routing policy.
@@ -372,8 +501,9 @@ module Aws::ServiceDiscovery
372
501
  # @return [String]
373
502
  #
374
503
  # @!attribute [rw] dns_records
375
- # An array that contains one `DnsRecord` object for each record that
376
- # you want Route 53 to create when you register an instance.
504
+ # An array that contains one `DnsRecord` object for each Route 53 DNS
505
+ # record that you want AWS Cloud Map to create when you register an
506
+ # instance.
377
507
  # @return [Array<Types::DnsRecord>]
378
508
  #
379
509
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsConfig AWS API Documentation
@@ -385,8 +515,8 @@ module Aws::ServiceDiscovery
385
515
  include Aws::Structure
386
516
  end
387
517
 
388
- # A complex type that contains information about changes to the records
389
- # that Route 53 creates when you register an instance.
518
+ # A complex type that contains information about changes to the Route 53
519
+ # DNS records that AWS Cloud Map creates when you register an instance.
390
520
  #
391
521
  # @note When making an API call, you may pass DnsConfigChange
392
522
  # data as a hash:
@@ -401,8 +531,9 @@ module Aws::ServiceDiscovery
401
531
  # }
402
532
  #
403
533
  # @!attribute [rw] dns_records
404
- # An array that contains one `DnsRecord` object for each record that
405
- # you want Route 53 to create when you register an instance.
534
+ # An array that contains one `DnsRecord` object for each Route 53
535
+ # record that you want AWS Cloud Map to create when you register an
536
+ # instance.
406
537
  # @return [Array<Types::DnsRecord>]
407
538
  #
408
539
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsConfigChange AWS API Documentation
@@ -412,12 +543,12 @@ module Aws::ServiceDiscovery
412
543
  include Aws::Structure
413
544
  end
414
545
 
415
- # A complex type that contains the ID for the hosted zone that Route 53
416
- # creates when you create a namespace.
546
+ # A complex type that contains the ID for the Route 53 hosted zone that
547
+ # AWS Cloud Map creates when you create a namespace.
417
548
  #
418
549
  # @!attribute [rw] hosted_zone_id
419
- # The ID for the hosted zone that Route 53 creates when you create a
420
- # namespace.
550
+ # The ID for the Route 53 hosted zone that AWS Cloud Map creates when
551
+ # you create a namespace.
421
552
  # @return [String]
422
553
  #
423
554
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsProperties AWS API Documentation
@@ -427,8 +558,9 @@ module Aws::ServiceDiscovery
427
558
  include Aws::Structure
428
559
  end
429
560
 
430
- # A complex type that contains information about the records that you
431
- # want Route 53 to create when you register an instance.
561
+ # A complex type that contains information about the Route 53 DNS
562
+ # records that you want AWS Cloud Map to create when you register an
563
+ # instance.
432
564
  #
433
565
  # @note When making an API call, you may pass DnsRecord
434
566
  # data as a hash:
@@ -444,17 +576,18 @@ module Aws::ServiceDiscovery
444
576
  #
445
577
  # Note the following:
446
578
  #
447
- # * **A, AAAA, and SRV records: You can specify settings for a maximum
448
- # of one A, one AAAA, and one SRV record. You can specify them in
449
- # any combination.**
579
+ # * **A, AAAA, and SRV records:** You can specify settings for a
580
+ # maximum of one A, one AAAA, and one SRV record. You can specify
581
+ # them in any combination.
450
582
  #
451
583
  # * **CNAME records:** If you specify `CNAME` for `Type`, you can't
452
- # define any other records. This is a limitation of DNSyou can't
584
+ # define any other records. This is a limitation of DNS: you can't
453
585
  # create a CNAME record and any other type of record that has the
454
586
  # same name as a CNAME record.
455
587
  #
456
- # * **Alias records:** If you want Route 53 to create an alias record
457
- # when you register an instance, specify `A` or `AAAA` for `Type`.
588
+ # * **Alias records:** If you want AWS Cloud Map to create a Route 53
589
+ # alias record when you register an instance, specify `A` or `AAAA`
590
+ # for `Type`.
458
591
  #
459
592
  # * **All records:** You specify settings other than `TTL` and `Type`
460
593
  # when you register an instance.
@@ -520,7 +653,7 @@ module Aws::ServiceDiscovery
520
653
  #
521
654
  # If you specify settings for an SRV record and if you specify values
522
655
  # for `AWS_INSTANCE_IPV4`, `AWS_INSTANCE_IPV6`, or both in the
523
- # `RegisterInstance` request, Route 53 automatically creates `A`
656
+ # `RegisterInstance` request, AWS Cloud Map automatically creates `A`
524
657
  # and/or `AAAA` records that have the same name as the value of
525
658
  # `service-hostname` in the SRV record. You can ignore these records.
526
659
  # @return [String]
@@ -600,9 +733,8 @@ module Aws::ServiceDiscovery
600
733
  # An array that contains the IDs of all the instances that you want to
601
734
  # get the health status for.
602
735
  #
603
- # If you omit `Instances`, Amazon Route 53 returns the health status
604
- # for all the instances that are associated with the specified
605
- # service.
736
+ # If you omit `Instances`, AWS Cloud Map returns the health status for
737
+ # all the instances that are associated with the specified service.
606
738
  #
607
739
  # <note markdown="1"> To get the IDs for the instances that you've registered by using a
608
740
  # specified service, submit a ListInstances request.
@@ -611,10 +743,10 @@ module Aws::ServiceDiscovery
611
743
  # @return [Array<String>]
612
744
  #
613
745
  # @!attribute [rw] max_results
614
- # The maximum number of instances that you want Route 53 to return in
615
- # the response to a `GetInstancesHealthStatus` request. If you don't
616
- # specify a value for `MaxResults`, Route 53 returns up to 100
617
- # instances.
746
+ # The maximum number of instances that you want AWS Cloud Map to
747
+ # return in the response to a `GetInstancesHealthStatus` request. If
748
+ # you don't specify a value for `MaxResults`, AWS Cloud Map returns
749
+ # up to 100 instances.
618
750
  # @return [Integer]
619
751
  #
620
752
  # @!attribute [rw] next_token
@@ -747,15 +879,24 @@ module Aws::ServiceDiscovery
747
879
 
748
880
  # *Public DNS namespaces only.* A complex type that contains settings
749
881
  # for an optional health check. If you specify settings for a health
750
- # check, Amazon Route 53 associates the health check with all the
751
- # records that you specify in `DnsConfig`.
882
+ # check, AWS Cloud Map associates the health check with the records that
883
+ # you specify in `DnsConfig`.
884
+ #
885
+ # If you specify a health check configuration, you can specify either
886
+ # `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
887
+ #
888
+ # Health checks are basic Route 53 health checks that monitor an AWS
889
+ # endpoint. For information about pricing for health checks, see [Amazon
890
+ # Route 53 Pricing][1].
891
+ #
892
+ # Note the following about configuring health checks.
752
893
  #
753
894
  # **A and AAAA records**
754
895
  #
755
896
  # If `DnsConfig` includes configurations for both A and AAAA records,
756
- # Route 53 creates a health check that uses the IPv4 address to check
757
- # the health of the resource. If the endpoint that is specified by the
758
- # IPv4 address is unhealthy, Route 53 considers both the A and AAAA
897
+ # AWS Cloud Map creates a health check that uses the IPv4 address to
898
+ # check the health of the resource. If the endpoint that is specified by
899
+ # the IPv4 address is unhealthy, Route 53 considers both the A and AAAA
759
900
  # records to be unhealthy.
760
901
  #
761
902
  # **CNAME records**
@@ -766,49 +907,50 @@ module Aws::ServiceDiscovery
766
907
  #
767
908
  # **Request interval**
768
909
  #
769
- # The health check uses 30 seconds as the request interval. This is the
770
- # number of seconds between the time that each Route 53 health checker
771
- # gets a response from your endpoint and the time that it sends the next
772
- # health check request. A health checker in each data center around the
773
- # world sends your endpoint a health check request every 30 seconds. On
774
- # average, your endpoint receives a health check request about every two
775
- # seconds. Health checkers in different data centers don't coordinate
776
- # with one another, so you'll sometimes see several requests per second
777
- # followed by a few seconds with no health checks at all.
910
+ # A Route 53 health checker in each health-checking region sends a
911
+ # health check request to an endpoint every 30 seconds. On average, your
912
+ # endpoint receives a health check request about every two seconds.
913
+ # However, health checkers don't coordinate with one another, so
914
+ # you'll sometimes see several requests per second followed by a few
915
+ # seconds with no health checks at all.
778
916
  #
779
917
  # **Health checking regions**
780
918
  #
781
919
  # Health checkers perform checks from all Route 53 health-checking
782
- # regions. For a list of the current regions, see [Regions][1].
920
+ # regions. For a list of the current regions, see [Regions][2].
783
921
  #
784
922
  # **Alias records**
785
923
  #
786
924
  # When you register an instance, if you include the `AWS_ALIAS_DNS_NAME`
787
- # attribute, Route 53 creates an alias record. Note the following:
925
+ # attribute, AWS Cloud Map creates a Route 53 alias record. Note the
926
+ # following:
788
927
  #
789
928
  # * Route 53 automatically sets `EvaluateTargetHealth` to true for alias
790
929
  # records. When `EvaluateTargetHealth` is true, the alias record
791
930
  # inherits the health of the referenced AWS resource. such as an ELB
792
- # load balancer. For more information, see [EvaluateTargetHealth][2].
931
+ # load balancer. For more information, see [EvaluateTargetHealth][3].
793
932
  #
794
933
  # * If you include `HealthCheckConfig` and then use the service to
795
934
  # register an instance that creates an alias record, Route 53 doesn't
796
935
  # create the health check.
797
936
  #
798
- # For information about the charges for health checks, see [Route 53
799
- # Pricing][3].
937
+ # **Charges for health checks**
800
938
  #
939
+ # Health checks are basic Route 53 health checks that monitor an AWS
940
+ # endpoint. For information about pricing for health checks, see [Amazon
941
+ # Route 53 Pricing][1].
801
942
  #
802
943
  #
803
- # [1]: http://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-Regions
804
- # [2]: http://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-EvaluateTargetHealth
805
- # [3]: http://aws.amazon.com/route53/pricing
944
+ #
945
+ # [1]: http://aws.amazon.com/route53/pricing/
946
+ # [2]: http://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-Regions
947
+ # [3]: http://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-EvaluateTargetHealth
806
948
  #
807
949
  # @note When making an API call, you may pass HealthCheckConfig
808
950
  # data as a hash:
809
951
  #
810
952
  # {
811
- # type: "HTTP", # accepts HTTP, HTTPS, TCP
953
+ # type: "HTTP", # required, accepts HTTP, HTTPS, TCP
812
954
  # resource_path: "ResourcePath",
813
955
  # failure_threshold: 1,
814
956
  # }
@@ -835,6 +977,9 @@ module Aws::ServiceDiscovery
835
977
  #
836
978
  # * **TCP**\: Route 53 tries to establish a TCP connection.
837
979
  #
980
+ # If you specify `TCP` for `Type`, don't specify a value for
981
+ # `ResourcePath`.
982
+ #
838
983
  # For more information, see [How Route 53 Determines Whether an
839
984
  # Endpoint Is Healthy][1] in the *Route 53 Developer Guide*.
840
985
  #
@@ -848,8 +993,11 @@ module Aws::ServiceDiscovery
848
993
  # checks. The path can be any value for which your endpoint will
849
994
  # return an HTTP status code of 2xx or 3xx when the endpoint is
850
995
  # healthy, such as the file `/docs/route53-health-check.html`. Route
851
- # 53 automatically adds the DNS name for the service and a leading
852
- # forward slash (`/`) character.
996
+ # 53 automatically adds the DNS name for the service. If you don't
997
+ # specify a value for `ResourcePath`, the default value is `/`.
998
+ #
999
+ # If you specify `TCP` for `Type`, you must *not* specify a value for
1000
+ # `ResourcePath`.
853
1001
  # @return [String]
854
1002
  #
855
1003
  # @!attribute [rw] failure_threshold
@@ -873,6 +1021,62 @@ module Aws::ServiceDiscovery
873
1021
  include Aws::Structure
874
1022
  end
875
1023
 
1024
+ # A complex type that contains information about an optional custom
1025
+ # health check. A custom health check, which requires that you use a
1026
+ # third-party health checker to evaluate the health of your resources,
1027
+ # is useful in the following circumstances:
1028
+ #
1029
+ # * You can't use a health check that is defined by `HealthCheckConfig`
1030
+ # because the resource isn't available over the internet. For
1031
+ # example, you can use a custom health check when the instance is in
1032
+ # an Amazon VPC. (To check the health of resources in a VPC, the
1033
+ # health checker must also be in the VPC.)
1034
+ #
1035
+ # * You want to use a third-party health checker regardless of where
1036
+ # your resources are.
1037
+ #
1038
+ # If you specify a health check configuration, you can specify either
1039
+ # `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
1040
+ #
1041
+ # To change the status of a custom health check, submit an
1042
+ # `UpdateInstanceCustomHealthStatus` request. Cloud Map doesn't monitor
1043
+ # the status of the resource, it just keeps a record of the status
1044
+ # specified in the most recent `UpdateInstanceCustomHealthStatus`
1045
+ # request.
1046
+ #
1047
+ # Here's how custom health checks work:
1048
+ #
1049
+ # 1. You create a service and specify a value for `FailureThreshold`.
1050
+ #
1051
+ # The failure threshold indicates the number of 30-second intervals
1052
+ # you want AWS Cloud Map to wait between the time that your
1053
+ # application sends an UpdateInstanceCustomHealthStatus request and
1054
+ # the time that AWS Cloud Map stops routing internet traffic to the
1055
+ # corresponding resource.
1056
+ #
1057
+ # 2. You register an instance.
1058
+ #
1059
+ # 3. You configure a third-party health checker to monitor the resource
1060
+ # that is associated with the new instance.
1061
+ #
1062
+ # <note markdown="1"> AWS Cloud Map doesn't check the health of the resource directly.
1063
+ #
1064
+ # </note>
1065
+ #
1066
+ # 4. The third-party health-checker determines that the resource is
1067
+ # unhealthy and notifies your application.
1068
+ #
1069
+ # 5. Your application submits an `UpdateInstanceCustomHealthStatus`
1070
+ # request.
1071
+ #
1072
+ # 6. AWS Cloud Map waits for (`FailureThreshold` x 30) seconds.
1073
+ #
1074
+ # 7. If another `UpdateInstanceCustomHealthStatus` request doesn't
1075
+ # arrive during that time to change the status back to healthy, AWS
1076
+ # Cloud Map stops routing traffic to the resource.
1077
+ #
1078
+ # Note the following about configuring custom health checks.
1079
+ #
876
1080
  # @note When making an API call, you may pass HealthCheckCustomConfig
877
1081
  # data as a hash:
878
1082
  #
@@ -881,6 +1085,20 @@ module Aws::ServiceDiscovery
881
1085
  # }
882
1086
  #
883
1087
  # @!attribute [rw] failure_threshold
1088
+ # The number of 30-second intervals that you want Cloud Map to wait
1089
+ # after receiving an `UpdateInstanceCustomHealthStatus` request before
1090
+ # it changes the health status of a service instance. For example,
1091
+ # suppose you specify a value of `2` for `FailureTheshold`, and then
1092
+ # your application sends an `UpdateInstanceCustomHealthStatus`
1093
+ # request. Cloud Map waits for approximately 60 seconds (2 x 30)
1094
+ # before changing the status of the service instance based on that
1095
+ # request.
1096
+ #
1097
+ # Sending a second or subsequent `UpdateInstanceCustomHealthStatus`
1098
+ # request with the same value before `FailureThreshold x 30` seconds
1099
+ # has passed doesn't accelerate the change. Cloud Map still waits
1100
+ # `FailureThreshold x 30` seconds after the first request to make the
1101
+ # change.
884
1102
  # @return [Integer]
885
1103
  #
886
1104
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/HealthCheckCustomConfig AWS API Documentation
@@ -890,8 +1108,61 @@ module Aws::ServiceDiscovery
890
1108
  include Aws::Structure
891
1109
  end
892
1110
 
893
- # A complex type that contains information about an instance that Amazon
894
- # Route 53 creates when you submit a `RegisterInstance` request.
1111
+ # In a response to a DiscoverInstance request, `HttpInstanceSummary`
1112
+ # contains information about one instance that matches the values that
1113
+ # you specified in the request.
1114
+ #
1115
+ # @!attribute [rw] instance_id
1116
+ # The ID of an instance that matches the values that you specified in
1117
+ # the request.
1118
+ # @return [String]
1119
+ #
1120
+ # @!attribute [rw] namespace_name
1121
+ # The name of the namespace that you specified when you registered the
1122
+ # instance.
1123
+ # @return [String]
1124
+ #
1125
+ # @!attribute [rw] service_name
1126
+ # The name of the service that you specified when you registered the
1127
+ # instance.
1128
+ # @return [String]
1129
+ #
1130
+ # @!attribute [rw] health_status
1131
+ # If you configured health checking in the service, the current health
1132
+ # status of the service instance.
1133
+ # @return [String]
1134
+ #
1135
+ # @!attribute [rw] attributes
1136
+ # If you included any attributes when you registered the instance, the
1137
+ # values of those attributes.
1138
+ # @return [Hash<String,String>]
1139
+ #
1140
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/HttpInstanceSummary AWS API Documentation
1141
+ #
1142
+ class HttpInstanceSummary < Struct.new(
1143
+ :instance_id,
1144
+ :namespace_name,
1145
+ :service_name,
1146
+ :health_status,
1147
+ :attributes)
1148
+ include Aws::Structure
1149
+ end
1150
+
1151
+ # A complex type that contains the name of an HTTP namespace.
1152
+ #
1153
+ # @!attribute [rw] http_name
1154
+ # The name of an HTTP namespace.
1155
+ # @return [String]
1156
+ #
1157
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/HttpProperties AWS API Documentation
1158
+ #
1159
+ class HttpProperties < Struct.new(
1160
+ :http_name)
1161
+ include Aws::Structure
1162
+ end
1163
+
1164
+ # A complex type that contains information about an instance that AWS
1165
+ # Cloud Map creates when you submit a `RegisterInstance` request.
895
1166
  #
896
1167
  # @!attribute [rw] id
897
1168
  # An identifier that you want to associate with the instance. Note the
@@ -908,10 +1179,10 @@ module Aws::ServiceDiscovery
908
1179
  # unique among instances that you register by using the same
909
1180
  # service.
910
1181
  #
911
- # * If you specify an existing `InstanceId` and `ServiceId`, Route 53
912
- # updates the existing records. If there's also an existing health
913
- # check, Route 53 deletes the old health check and creates a new
914
- # one.
1182
+ # * If you specify an existing `InstanceId` and `ServiceId`, AWS Cloud
1183
+ # Map updates the existing DNS records. If there's also an existing
1184
+ # health check, AWS Cloud Map deletes the old health check and
1185
+ # creates a new one.
915
1186
  #
916
1187
  # <note markdown="1"> The health check isn't deleted immediately, so it will still
917
1188
  # appear for a while if you submit a `ListHealthChecks` request, for
@@ -945,10 +1216,11 @@ module Aws::ServiceDiscovery
945
1216
  #
946
1217
  # ****
947
1218
  #
948
- # If you want Route 53 to create an alias record that routes traffic
949
- # to an Elastic Load Balancing load balancer, specify the DNS name
950
- # that is associated with the load balancer. For information about how
951
- # to get the DNS name, see "DNSName" in the topic [AliasTarget][1].
1219
+ # If you want AWS Cloud Map to create a Route 53 alias record that
1220
+ # routes traffic to an Elastic Load Balancing load balancer, specify
1221
+ # the DNS name that is associated with the load balancer. For
1222
+ # information about how to get the DNS name, see "DNSName" in the
1223
+ # topic [AliasTarget][1].
952
1224
  #
953
1225
  # Note the following:
954
1226
  #
@@ -959,7 +1231,7 @@ module Aws::ServiceDiscovery
959
1231
  # `RoutingPolicy` must be `WEIGHTED`.
960
1232
  #
961
1233
  # * If the service that is specified by `ServiceId` includes
962
- # `HealthCheckConfig` settings, Route 53 will create the health
1234
+ # `HealthCheckConfig` settings, AWS Cloud Map will create the health
963
1235
  # check, but it won't associate the health check with the alias
964
1236
  # record.
965
1237
  #
@@ -1013,7 +1285,7 @@ module Aws::ServiceDiscovery
1013
1285
  #
1014
1286
  #
1015
1287
  #
1016
- # [1]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html
1288
+ # [1]: http://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html
1017
1289
  # @return [Hash<String,String>]
1018
1290
  #
1019
1291
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/Instance AWS API Documentation
@@ -1094,9 +1366,9 @@ module Aws::ServiceDiscovery
1094
1366
  # @return [String]
1095
1367
  #
1096
1368
  # @!attribute [rw] max_results
1097
- # The maximum number of instances that you want Amazon Route 53 to
1369
+ # The maximum number of instances that you want AWS Cloud Map to
1098
1370
  # return in the response to a `ListInstances` request. If you don't
1099
- # specify a value for `MaxResults`, Route 53 returns up to 100
1371
+ # specify a value for `MaxResults`, AWS Cloud Map returns up to 100
1100
1372
  # instances.
1101
1373
  # @return [Integer]
1102
1374
  #
@@ -1152,19 +1424,19 @@ module Aws::ServiceDiscovery
1152
1424
  # the value of `NextToken` from the previous response in the next
1153
1425
  # request.
1154
1426
  #
1155
- # <note markdown="1"> Route 53 gets `MaxResults` namespaces and then filters them based on
1156
- # the specified criteria. It's possible that no namespaces in the
1157
- # first `MaxResults` namespaces matched the specified criteria but
1158
- # that subsequent groups of `MaxResults` namespaces do contain
1427
+ # <note markdown="1"> AWS Cloud Map gets `MaxResults` namespaces and then filters them
1428
+ # based on the specified criteria. It's possible that no namespaces
1429
+ # in the first `MaxResults` namespaces matched the specified criteria
1430
+ # but that subsequent groups of `MaxResults` namespaces do contain
1159
1431
  # namespaces that match the criteria.
1160
1432
  #
1161
1433
  # </note>
1162
1434
  # @return [String]
1163
1435
  #
1164
1436
  # @!attribute [rw] max_results
1165
- # The maximum number of namespaces that you want Amazon Route 53 to
1437
+ # The maximum number of namespaces that you want AWS Cloud Map to
1166
1438
  # return in the response to a `ListNamespaces` request. If you don't
1167
- # specify a value for `MaxResults`, Route 53 returns up to 100
1439
+ # specify a value for `MaxResults`, AWS Cloud Map returns up to 100
1168
1440
  # namespaces.
1169
1441
  # @return [Integer]
1170
1442
  #
@@ -1196,10 +1468,10 @@ module Aws::ServiceDiscovery
1196
1468
  # the value of `NextToken` from the previous response in the next
1197
1469
  # request.
1198
1470
  #
1199
- # <note markdown="1"> Route 53 gets `MaxResults` namespaces and then filters them based on
1200
- # the specified criteria. It's possible that no namespaces in the
1201
- # first `MaxResults` namespaces matched the specified criteria but
1202
- # that subsequent groups of `MaxResults` namespaces do contain
1471
+ # <note markdown="1"> AWS Cloud Map gets `MaxResults` namespaces and then filters them
1472
+ # based on the specified criteria. It's possible that no namespaces
1473
+ # in the first `MaxResults` namespaces matched the specified criteria
1474
+ # but that subsequent groups of `MaxResults` namespaces do contain
1203
1475
  # namespaces that match the criteria.
1204
1476
  #
1205
1477
  # </note>
@@ -1236,19 +1508,19 @@ module Aws::ServiceDiscovery
1236
1508
  # the value of `NextToken` from the previous response in the next
1237
1509
  # request.
1238
1510
  #
1239
- # <note markdown="1"> Route 53 gets `MaxResults` operations and then filters them based on
1240
- # the specified criteria. It's possible that no operations in the
1241
- # first `MaxResults` operations matched the specified criteria but
1242
- # that subsequent groups of `MaxResults` operations do contain
1511
+ # <note markdown="1"> AWS Cloud Map gets `MaxResults` operations and then filters them
1512
+ # based on the specified criteria. It's possible that no operations
1513
+ # in the first `MaxResults` operations matched the specified criteria
1514
+ # but that subsequent groups of `MaxResults` operations do contain
1243
1515
  # operations that match the criteria.
1244
1516
  #
1245
1517
  # </note>
1246
1518
  # @return [String]
1247
1519
  #
1248
1520
  # @!attribute [rw] max_results
1249
- # The maximum number of items that you want Amazon Route 53 to return
1250
- # in the response to a `ListOperations` request. If you don't specify
1251
- # a value for `MaxResults`, Route 53 returns up to 100 operations.
1521
+ # The maximum number of items that you want AWS Cloud Map to return in
1522
+ # the response to a `ListOperations` request. If you don't specify a
1523
+ # value for `MaxResults`, AWS Cloud Map returns up to 100 operations.
1252
1524
  # @return [Integer]
1253
1525
  #
1254
1526
  # @!attribute [rw] filters
@@ -1280,10 +1552,10 @@ module Aws::ServiceDiscovery
1280
1552
  # the value of `NextToken` from the previous response in the next
1281
1553
  # request.
1282
1554
  #
1283
- # <note markdown="1"> Route 53 gets `MaxResults` operations and then filters them based on
1284
- # the specified criteria. It's possible that no operations in the
1285
- # first `MaxResults` operations matched the specified criteria but
1286
- # that subsequent groups of `MaxResults` operations do contain
1555
+ # <note markdown="1"> AWS Cloud Map gets `MaxResults` operations and then filters them
1556
+ # based on the specified criteria. It's possible that no operations
1557
+ # in the first `MaxResults` operations matched the specified criteria
1558
+ # but that subsequent groups of `MaxResults` operations do contain
1287
1559
  # operations that match the criteria.
1288
1560
  #
1289
1561
  # </note>
@@ -1319,9 +1591,9 @@ module Aws::ServiceDiscovery
1319
1591
  # request to get the next group of results. Specify the value of
1320
1592
  # `NextToken` from the previous response in the next request.
1321
1593
  #
1322
- # <note markdown="1"> Route 53 gets `MaxResults` services and then filters them based on
1323
- # the specified criteria. It's possible that no services in the first
1324
- # `MaxResults` services matched the specified criteria but that
1594
+ # <note markdown="1"> AWS Cloud Map gets `MaxResults` services and then filters them based
1595
+ # on the specified criteria. It's possible that no services in the
1596
+ # first `MaxResults` services matched the specified criteria but that
1325
1597
  # subsequent groups of `MaxResults` services do contain services that
1326
1598
  # match the criteria.
1327
1599
  #
@@ -1329,10 +1601,9 @@ module Aws::ServiceDiscovery
1329
1601
  # @return [String]
1330
1602
  #
1331
1603
  # @!attribute [rw] max_results
1332
- # The maximum number of services that you want Amazon Route 53 to
1333
- # return in the response to a `ListServices` request. If you don't
1334
- # specify a value for `MaxResults`, Route 53 returns up to 100
1335
- # services.
1604
+ # The maximum number of services that you want AWS Cloud Map to return
1605
+ # in the response to a `ListServices` request. If you don't specify a
1606
+ # value for `MaxResults`, AWS Cloud Map returns up to 100 services.
1336
1607
  # @return [Integer]
1337
1608
  #
1338
1609
  # @!attribute [rw] filters
@@ -1362,9 +1633,9 @@ module Aws::ServiceDiscovery
1362
1633
  # request to get the next group of results. Specify the value of
1363
1634
  # `NextToken` from the previous response in the next request.
1364
1635
  #
1365
- # <note markdown="1"> Route 53 gets `MaxResults` services and then filters them based on
1366
- # the specified criteria. It's possible that no services in the first
1367
- # `MaxResults` services matched the specified criteria but that
1636
+ # <note markdown="1"> AWS Cloud Map gets `MaxResults` services and then filters them based
1637
+ # on the specified criteria. It's possible that no services in the
1638
+ # first `MaxResults` services matched the specified criteria but that
1368
1639
  # subsequent groups of `MaxResults` services do contain services that
1369
1640
  # match the criteria.
1370
1641
  #
@@ -1386,7 +1657,7 @@ module Aws::ServiceDiscovery
1386
1657
  # @return [String]
1387
1658
  #
1388
1659
  # @!attribute [rw] arn
1389
- # The Amazon Resource Name (ARN) that Route 53 assigns to the
1660
+ # The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the
1390
1661
  # namespace when you create it.
1391
1662
  # @return [String]
1392
1663
  #
@@ -1493,14 +1764,19 @@ module Aws::ServiceDiscovery
1493
1764
  # namespace type.
1494
1765
  #
1495
1766
  # @!attribute [rw] dns_properties
1496
- # A complex type that contains the ID for the hosted zone that Route
1497
- # 53 creates when you create a namespace.
1767
+ # A complex type that contains the ID for the Route 53 hosted zone
1768
+ # that AWS Cloud Map creates when you create a namespace.
1498
1769
  # @return [Types::DnsProperties]
1499
1770
  #
1771
+ # @!attribute [rw] http_properties
1772
+ # A complex type that contains the name of an HTTP namespace.
1773
+ # @return [Types::HttpProperties]
1774
+ #
1500
1775
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/NamespaceProperties AWS API Documentation
1501
1776
  #
1502
1777
  class NamespaceProperties < Struct.new(
1503
- :dns_properties)
1778
+ :dns_properties,
1779
+ :http_properties)
1504
1780
  include Aws::Structure
1505
1781
  end
1506
1782
 
@@ -1511,27 +1787,48 @@ module Aws::ServiceDiscovery
1511
1787
  # @return [String]
1512
1788
  #
1513
1789
  # @!attribute [rw] arn
1514
- # The Amazon Resource Name (ARN) that Route 53 assigns to the
1790
+ # The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the
1515
1791
  # namespace when you create it.
1516
1792
  # @return [String]
1517
1793
  #
1518
1794
  # @!attribute [rw] name
1519
- # The name of the namespace. When you create a namespace, Route 53
1520
- # automatically creates a hosted zone that has the same name as the
1521
- # namespace.
1795
+ # The name of the namespace. When you create a namespace, AWS Cloud
1796
+ # Map automatically creates a Route 53 hosted zone that has the same
1797
+ # name as the namespace.
1522
1798
  # @return [String]
1523
1799
  #
1524
1800
  # @!attribute [rw] type
1525
1801
  # The type of the namespace, either public or private.
1526
1802
  # @return [String]
1527
1803
  #
1804
+ # @!attribute [rw] description
1805
+ # A description for the namespace.
1806
+ # @return [String]
1807
+ #
1808
+ # @!attribute [rw] service_count
1809
+ # The number of services that were created using the namespace.
1810
+ # @return [Integer]
1811
+ #
1812
+ # @!attribute [rw] properties
1813
+ # A complex type that contains information that is specific to the
1814
+ # namespace type.
1815
+ # @return [Types::NamespaceProperties]
1816
+ #
1817
+ # @!attribute [rw] create_date
1818
+ # The date and time that the namespace was created.
1819
+ # @return [Time]
1820
+ #
1528
1821
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/NamespaceSummary AWS API Documentation
1529
1822
  #
1530
1823
  class NamespaceSummary < Struct.new(
1531
1824
  :id,
1532
1825
  :arn,
1533
1826
  :name,
1534
- :type)
1827
+ :type,
1828
+ :description,
1829
+ :service_count,
1830
+ :properties,
1831
+ :create_date)
1535
1832
  include Aws::Structure
1536
1833
  end
1537
1834
 
@@ -1551,7 +1848,7 @@ module Aws::ServiceDiscovery
1551
1848
  # * **SUBMITTED**\: This is the initial state immediately after you
1552
1849
  # submit a request.
1553
1850
  #
1554
- # * **PENDING**\: Route 53 is performing the operation.
1851
+ # * **PENDING**\: AWS Cloud Map is performing the operation.
1555
1852
  #
1556
1853
  # * **SUCCESS**\: The operation succeeded.
1557
1854
  #
@@ -1716,7 +2013,7 @@ module Aws::ServiceDiscovery
1716
2013
  # * **SUBMITTED**\: This is the initial state immediately after you
1717
2014
  # submit a request.
1718
2015
  #
1719
- # * **PENDING**\: Route 53 is performing the operation.
2016
+ # * **PENDING**\: AWS Cloud Map is performing the operation.
1720
2017
  #
1721
2018
  # * **SUCCESS**\: The operation succeeded.
1722
2019
  #
@@ -1746,7 +2043,7 @@ module Aws::ServiceDiscovery
1746
2043
  #
1747
2044
  # @!attribute [rw] service_id
1748
2045
  # The ID of the service that you want to use for settings for the
1749
- # records and health check that Route 53 will create.
2046
+ # instance.
1750
2047
  # @return [String]
1751
2048
  #
1752
2049
  # @!attribute [rw] instance_id
@@ -1764,10 +2061,10 @@ module Aws::ServiceDiscovery
1764
2061
  # unique among instances that you register by using the same
1765
2062
  # service.
1766
2063
  #
1767
- # * If you specify an existing `InstanceId` and `ServiceId`, Route 53
1768
- # updates the existing records. If there's also an existing health
1769
- # check, Route 53 deletes the old health check and creates a new
1770
- # one.
2064
+ # * If you specify an existing `InstanceId` and `ServiceId`, AWS Cloud
2065
+ # Map updates the existing DNS records, if any. If there's also an
2066
+ # existing health check, AWS Cloud Map deletes the old health check
2067
+ # and creates a new one.
1771
2068
  #
1772
2069
  # <note markdown="1"> The health check isn't deleted immediately, so it will still
1773
2070
  # appear for a while if you submit a `ListHealthChecks` request, for
@@ -1804,10 +2101,11 @@ module Aws::ServiceDiscovery
1804
2101
  #
1805
2102
  # ****
1806
2103
  #
1807
- # If you want Route 53 to create an alias record that routes traffic
1808
- # to an Elastic Load Balancing load balancer, specify the DNS name
1809
- # that is associated with the load balancer. For information about how
1810
- # to get the DNS name, see "DNSName" in the topic [AliasTarget][1].
2104
+ # If you want AWS Cloud Map to create an Amazon Route 53 alias record
2105
+ # that routes traffic to an Elastic Load Balancing load balancer,
2106
+ # specify the DNS name that is associated with the load balancer. For
2107
+ # information about how to get the DNS name, see "DNSName" in the
2108
+ # topic [AliasTarget][1] in the *Route 53 API Reference*.
1811
2109
  #
1812
2110
  # Note the following:
1813
2111
  #
@@ -1818,9 +2116,9 @@ module Aws::ServiceDiscovery
1818
2116
  # `RoutingPolicy` must be `WEIGHTED`.
1819
2117
  #
1820
2118
  # * If the service that is specified by `ServiceId` includes
1821
- # `HealthCheckConfig` settings, Route 53 will create the health
1822
- # check, but it won't associate the health check with the alias
1823
- # record.
2119
+ # `HealthCheckConfig` settings, AWS Cloud Map will create the Route
2120
+ # 53 health check, but it won't associate the health check with the
2121
+ # alias record.
1824
2122
  #
1825
2123
  # * Auto naming currently doesn't support creating alias records that
1826
2124
  # route traffic to AWS resources other than ELB load balancers.
@@ -1828,6 +2126,14 @@ module Aws::ServiceDiscovery
1828
2126
  # * If you specify a value for `AWS_ALIAS_DNS_NAME`, don't specify
1829
2127
  # values for any of the `AWS_INSTANCE` attributes.
1830
2128
  #
2129
+ # **AWS\_INIT\_HEALTH\_STATUS**
2130
+ #
2131
+ # If the service configuration includes `HealthCheckCustomConfig`, you
2132
+ # can optionally use `AWS_INIT_HEALTH_STATUS` to specify the initial
2133
+ # status of the custom health check, `HEALTHY` or `UNHEALTHY`. If you
2134
+ # don't specify a value for `AWS_INIT_HEALTH_STATUS`, the initial
2135
+ # status is `HEALTHY`.
2136
+ #
1831
2137
  # **AWS\_INSTANCE\_CNAME**
1832
2138
  #
1833
2139
  # If the service configuration includes a CNAME record, the domain
@@ -1870,9 +2176,15 @@ module Aws::ServiceDiscovery
1870
2176
  # This value is required if you specified settings for an SRV record
1871
2177
  # when you created the service.
1872
2178
  #
2179
+ # **Custom attributes**
1873
2180
  #
2181
+ # You can add up to 30 custom attributes. For each key-value pair, the
2182
+ # maximum length of the attribute name is 255 characters, and the
2183
+ # maximum length of the attribute value is 1,024 characters.
1874
2184
  #
1875
- # [1]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html
2185
+ #
2186
+ #
2187
+ # [1]: http://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html
1876
2188
  # @return [Hash<String,String>]
1877
2189
  #
1878
2190
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/RegisterInstanceRequest AWS API Documentation
@@ -1900,18 +2212,23 @@ module Aws::ServiceDiscovery
1900
2212
  # A complex type that contains information about the specified service.
1901
2213
  #
1902
2214
  # @!attribute [rw] id
1903
- # The ID that Route 53 assigned to the service when you created it.
2215
+ # The ID that AWS Cloud Map assigned to the service when you created
2216
+ # it.
1904
2217
  # @return [String]
1905
2218
  #
1906
2219
  # @!attribute [rw] arn
1907
- # The Amazon Resource Name (ARN) that Route 53 assigns to the service
1908
- # when you create it.
2220
+ # The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the
2221
+ # service when you create it.
1909
2222
  # @return [String]
1910
2223
  #
1911
2224
  # @!attribute [rw] name
1912
2225
  # The name of the service.
1913
2226
  # @return [String]
1914
2227
  #
2228
+ # @!attribute [rw] namespace_id
2229
+ # The ID of the namespace that was used to create the service.
2230
+ # @return [String]
2231
+ #
1915
2232
  # @!attribute [rw] description
1916
2233
  # The description of the service.
1917
2234
  # @return [String]
@@ -1923,25 +2240,31 @@ module Aws::ServiceDiscovery
1923
2240
  # @return [Integer]
1924
2241
  #
1925
2242
  # @!attribute [rw] dns_config
1926
- # A complex type that contains information about the records that you
1927
- # want Route 53 to create when you register an instance.
2243
+ # A complex type that contains information about the Route 53 DNS
2244
+ # records that you want AWS Cloud Map to create when you register an
2245
+ # instance.
1928
2246
  # @return [Types::DnsConfig]
1929
2247
  #
1930
2248
  # @!attribute [rw] health_check_config
1931
2249
  # *Public DNS namespaces only.* A complex type that contains settings
1932
2250
  # for an optional health check. If you specify settings for a health
1933
- # check, Route 53 associates the health check with all the records
2251
+ # check, AWS Cloud Map associates the health check with the records
1934
2252
  # that you specify in `DnsConfig`.
1935
2253
  #
1936
- # For information about the charges for health checks, see [Route 53
1937
- # Pricing][1].
2254
+ # For information about the charges for health checks, see [Amazon
2255
+ # Route 53 Pricing][1].
1938
2256
  #
1939
2257
  #
1940
2258
  #
1941
- # [1]: http://aws.amazon.com/route53/pricing
2259
+ # [1]: http://aws.amazon.com/route53/pricing/
1942
2260
  # @return [Types::HealthCheckConfig]
1943
2261
  #
1944
2262
  # @!attribute [rw] health_check_custom_config
2263
+ # A complex type that contains information about an optional custom
2264
+ # health check.
2265
+ #
2266
+ # If you specify a health check configuration, you can specify either
2267
+ # `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
1945
2268
  # @return [Types::HealthCheckCustomConfig]
1946
2269
  #
1947
2270
  # @!attribute [rw] create_date
@@ -1964,6 +2287,7 @@ module Aws::ServiceDiscovery
1964
2287
  :id,
1965
2288
  :arn,
1966
2289
  :name,
2290
+ :namespace_id,
1967
2291
  :description,
1968
2292
  :instance_count,
1969
2293
  :dns_config,
@@ -1990,7 +2314,7 @@ module Aws::ServiceDiscovery
1990
2314
  # ],
1991
2315
  # },
1992
2316
  # health_check_config: {
1993
- # type: "HTTP", # accepts HTTP, HTTPS, TCP
2317
+ # type: "HTTP", # required, accepts HTTP, HTTPS, TCP
1994
2318
  # resource_path: "ResourcePath",
1995
2319
  # failure_threshold: 1,
1996
2320
  # },
@@ -2001,23 +2325,33 @@ module Aws::ServiceDiscovery
2001
2325
  # @return [String]
2002
2326
  #
2003
2327
  # @!attribute [rw] dns_config
2004
- # A complex type that contains information about the records that you
2005
- # want Route 53 to create when you register an instance.
2328
+ # A complex type that contains information about the Route 53 DNS
2329
+ # records that you want AWS Cloud Map to create when you register an
2330
+ # instance.
2006
2331
  # @return [Types::DnsConfigChange]
2007
2332
  #
2008
2333
  # @!attribute [rw] health_check_config
2009
2334
  # *Public DNS namespaces only.* A complex type that contains settings
2010
2335
  # for an optional health check. If you specify settings for a health
2011
- # check, Amazon Route 53 associates the health check with all the
2012
- # records that you specify in `DnsConfig`.
2336
+ # check, AWS Cloud Map associates the health check with the records
2337
+ # that you specify in `DnsConfig`.
2338
+ #
2339
+ # If you specify a health check configuration, you can specify either
2340
+ # `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
2341
+ #
2342
+ # Health checks are basic Route 53 health checks that monitor an AWS
2343
+ # endpoint. For information about pricing for health checks, see
2344
+ # [Amazon Route 53 Pricing][1].
2345
+ #
2346
+ # Note the following about configuring health checks.
2013
2347
  #
2014
2348
  # **A and AAAA records**
2015
2349
  #
2016
2350
  # If `DnsConfig` includes configurations for both A and AAAA records,
2017
- # Route 53 creates a health check that uses the IPv4 address to check
2018
- # the health of the resource. If the endpoint that is specified by the
2019
- # IPv4 address is unhealthy, Route 53 considers both the A and AAAA
2020
- # records to be unhealthy.
2351
+ # AWS Cloud Map creates a health check that uses the IPv4 address to
2352
+ # check the health of the resource. If the endpoint that is specified
2353
+ # by the IPv4 address is unhealthy, Route 53 considers both the A and
2354
+ # AAAA records to be unhealthy.
2021
2355
  #
2022
2356
  # **CNAME records**
2023
2357
  #
@@ -2027,46 +2361,45 @@ module Aws::ServiceDiscovery
2027
2361
  #
2028
2362
  # **Request interval**
2029
2363
  #
2030
- # The health check uses 30 seconds as the request interval. This is
2031
- # the number of seconds between the time that each Route 53 health
2032
- # checker gets a response from your endpoint and the time that it
2033
- # sends the next health check request. A health checker in each data
2034
- # center around the world sends your endpoint a health check request
2035
- # every 30 seconds. On average, your endpoint receives a health check
2036
- # request about every two seconds. Health checkers in different data
2037
- # centers don't coordinate with one another, so you'll sometimes see
2038
- # several requests per second followed by a few seconds with no health
2039
- # checks at all.
2364
+ # A Route 53 health checker in each health-checking region sends a
2365
+ # health check request to an endpoint every 30 seconds. On average,
2366
+ # your endpoint receives a health check request about every two
2367
+ # seconds. However, health checkers don't coordinate with one
2368
+ # another, so you'll sometimes see several requests per second
2369
+ # followed by a few seconds with no health checks at all.
2040
2370
  #
2041
2371
  # **Health checking regions**
2042
2372
  #
2043
2373
  # Health checkers perform checks from all Route 53 health-checking
2044
- # regions. For a list of the current regions, see [Regions][1].
2374
+ # regions. For a list of the current regions, see [Regions][2].
2045
2375
  #
2046
2376
  # **Alias records**
2047
2377
  #
2048
2378
  # When you register an instance, if you include the
2049
- # `AWS_ALIAS_DNS_NAME` attribute, Route 53 creates an alias record.
2050
- # Note the following:
2379
+ # `AWS_ALIAS_DNS_NAME` attribute, AWS Cloud Map creates a Route 53
2380
+ # alias record. Note the following:
2051
2381
  #
2052
2382
  # * Route 53 automatically sets `EvaluateTargetHealth` to true for
2053
2383
  # alias records. When `EvaluateTargetHealth` is true, the alias
2054
2384
  # record inherits the health of the referenced AWS resource. such as
2055
2385
  # an ELB load balancer. For more information, see
2056
- # [EvaluateTargetHealth][2].
2386
+ # [EvaluateTargetHealth][3].
2057
2387
  #
2058
2388
  # * If you include `HealthCheckConfig` and then use the service to
2059
2389
  # register an instance that creates an alias record, Route 53
2060
2390
  # doesn't create the health check.
2061
2391
  #
2062
- # For information about the charges for health checks, see [Route 53
2063
- # Pricing][3].
2392
+ # **Charges for health checks**
2393
+ #
2394
+ # Health checks are basic Route 53 health checks that monitor an AWS
2395
+ # endpoint. For information about pricing for health checks, see
2396
+ # [Amazon Route 53 Pricing][1].
2064
2397
  #
2065
2398
  #
2066
2399
  #
2067
- # [1]: http://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-Regions
2068
- # [2]: http://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-EvaluateTargetHealth
2069
- # [3]: http://aws.amazon.com/route53/pricing
2400
+ # [1]: http://aws.amazon.com/route53/pricing/
2401
+ # [2]: http://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-Regions
2402
+ # [3]: http://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-EvaluateTargetHealth
2070
2403
  # @return [Types::HealthCheckConfig]
2071
2404
  #
2072
2405
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ServiceChange AWS API Documentation
@@ -2126,12 +2459,13 @@ module Aws::ServiceDiscovery
2126
2459
  # A complex type that contains information about a specified service.
2127
2460
  #
2128
2461
  # @!attribute [rw] id
2129
- # The ID that Route 53 assigned to the service when you created it.
2462
+ # The ID that AWS Cloud Map assigned to the service when you created
2463
+ # it.
2130
2464
  # @return [String]
2131
2465
  #
2132
2466
  # @!attribute [rw] arn
2133
- # The Amazon Resource Name (ARN) that Route 53 assigns to the service
2134
- # when you create it.
2467
+ # The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the
2468
+ # service when you create it.
2135
2469
  # @return [String]
2136
2470
  #
2137
2471
  # @!attribute [rw] name
@@ -2148,6 +2482,147 @@ module Aws::ServiceDiscovery
2148
2482
  # but that have been deleted are not included in the count.
2149
2483
  # @return [Integer]
2150
2484
  #
2485
+ # @!attribute [rw] dns_config
2486
+ # A complex type that contains information about the Amazon Route 53
2487
+ # DNS records that you want AWS Cloud Map to create when you register
2488
+ # an instance.
2489
+ # @return [Types::DnsConfig]
2490
+ #
2491
+ # @!attribute [rw] health_check_config
2492
+ # *Public DNS namespaces only.* A complex type that contains settings
2493
+ # for an optional health check. If you specify settings for a health
2494
+ # check, AWS Cloud Map associates the health check with the records
2495
+ # that you specify in `DnsConfig`.
2496
+ #
2497
+ # If you specify a health check configuration, you can specify either
2498
+ # `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
2499
+ #
2500
+ # Health checks are basic Route 53 health checks that monitor an AWS
2501
+ # endpoint. For information about pricing for health checks, see
2502
+ # [Amazon Route 53 Pricing][1].
2503
+ #
2504
+ # Note the following about configuring health checks.
2505
+ #
2506
+ # **A and AAAA records**
2507
+ #
2508
+ # If `DnsConfig` includes configurations for both A and AAAA records,
2509
+ # AWS Cloud Map creates a health check that uses the IPv4 address to
2510
+ # check the health of the resource. If the endpoint that is specified
2511
+ # by the IPv4 address is unhealthy, Route 53 considers both the A and
2512
+ # AAAA records to be unhealthy.
2513
+ #
2514
+ # **CNAME records**
2515
+ #
2516
+ # You can't specify settings for `HealthCheckConfig` when the
2517
+ # `DNSConfig` includes `CNAME` for the value of `Type`. If you do, the
2518
+ # `CreateService` request will fail with an `InvalidInput` error.
2519
+ #
2520
+ # **Request interval**
2521
+ #
2522
+ # A Route 53 health checker in each health-checking region sends a
2523
+ # health check request to an endpoint every 30 seconds. On average,
2524
+ # your endpoint receives a health check request about every two
2525
+ # seconds. However, health checkers don't coordinate with one
2526
+ # another, so you'll sometimes see several requests per second
2527
+ # followed by a few seconds with no health checks at all.
2528
+ #
2529
+ # **Health checking regions**
2530
+ #
2531
+ # Health checkers perform checks from all Route 53 health-checking
2532
+ # regions. For a list of the current regions, see [Regions][2].
2533
+ #
2534
+ # **Alias records**
2535
+ #
2536
+ # When you register an instance, if you include the
2537
+ # `AWS_ALIAS_DNS_NAME` attribute, AWS Cloud Map creates a Route 53
2538
+ # alias record. Note the following:
2539
+ #
2540
+ # * Route 53 automatically sets `EvaluateTargetHealth` to true for
2541
+ # alias records. When `EvaluateTargetHealth` is true, the alias
2542
+ # record inherits the health of the referenced AWS resource. such as
2543
+ # an ELB load balancer. For more information, see
2544
+ # [EvaluateTargetHealth][3].
2545
+ #
2546
+ # * If you include `HealthCheckConfig` and then use the service to
2547
+ # register an instance that creates an alias record, Route 53
2548
+ # doesn't create the health check.
2549
+ #
2550
+ # **Charges for health checks**
2551
+ #
2552
+ # Health checks are basic Route 53 health checks that monitor an AWS
2553
+ # endpoint. For information about pricing for health checks, see
2554
+ # [Amazon Route 53 Pricing][1].
2555
+ #
2556
+ #
2557
+ #
2558
+ # [1]: http://aws.amazon.com/route53/pricing/
2559
+ # [2]: http://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-Regions
2560
+ # [3]: http://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-EvaluateTargetHealth
2561
+ # @return [Types::HealthCheckConfig]
2562
+ #
2563
+ # @!attribute [rw] health_check_custom_config
2564
+ # A complex type that contains information about an optional custom
2565
+ # health check. A custom health check, which requires that you use a
2566
+ # third-party health checker to evaluate the health of your resources,
2567
+ # is useful in the following circumstances:
2568
+ #
2569
+ # * You can't use a health check that is defined by
2570
+ # `HealthCheckConfig` because the resource isn't available over the
2571
+ # internet. For example, you can use a custom health check when the
2572
+ # instance is in an Amazon VPC. (To check the health of resources in
2573
+ # a VPC, the health checker must also be in the VPC.)
2574
+ #
2575
+ # * You want to use a third-party health checker regardless of where
2576
+ # your resources are.
2577
+ #
2578
+ # If you specify a health check configuration, you can specify either
2579
+ # `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
2580
+ #
2581
+ # To change the status of a custom health check, submit an
2582
+ # `UpdateInstanceCustomHealthStatus` request. Cloud Map doesn't
2583
+ # monitor the status of the resource, it just keeps a record of the
2584
+ # status specified in the most recent
2585
+ # `UpdateInstanceCustomHealthStatus` request.
2586
+ #
2587
+ # Here's how custom health checks work:
2588
+ #
2589
+ # 1. You create a service and specify a value for `FailureThreshold`.
2590
+ #
2591
+ # The failure threshold indicates the number of 30-second
2592
+ # intervals you want AWS Cloud Map to wait between the time that
2593
+ # your application sends an UpdateInstanceCustomHealthStatus
2594
+ # request and the time that AWS Cloud Map stops routing internet
2595
+ # traffic to the corresponding resource.
2596
+ #
2597
+ # 2. You register an instance.
2598
+ #
2599
+ # 3. You configure a third-party health checker to monitor the
2600
+ # resource that is associated with the new instance.
2601
+ #
2602
+ # <note markdown="1"> AWS Cloud Map doesn't check the health of the resource
2603
+ # directly.
2604
+ #
2605
+ # </note>
2606
+ #
2607
+ # 4. The third-party health-checker determines that the resource is
2608
+ # unhealthy and notifies your application.
2609
+ #
2610
+ # 5. Your application submits an `UpdateInstanceCustomHealthStatus`
2611
+ # request.
2612
+ #
2613
+ # 6. AWS Cloud Map waits for (`FailureThreshold` x 30) seconds.
2614
+ #
2615
+ # 7. If another `UpdateInstanceCustomHealthStatus` request doesn't
2616
+ # arrive during that time to change the status back to healthy,
2617
+ # AWS Cloud Map stops routing traffic to the resource.
2618
+ #
2619
+ # Note the following about configuring custom health checks.
2620
+ # @return [Types::HealthCheckCustomConfig]
2621
+ #
2622
+ # @!attribute [rw] create_date
2623
+ # The date and time that the service was created.
2624
+ # @return [Time]
2625
+ #
2151
2626
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ServiceSummary AWS API Documentation
2152
2627
  #
2153
2628
  class ServiceSummary < Struct.new(
@@ -2155,7 +2630,11 @@ module Aws::ServiceDiscovery
2155
2630
  :arn,
2156
2631
  :name,
2157
2632
  :description,
2158
- :instance_count)
2633
+ :instance_count,
2634
+ :dns_config,
2635
+ :health_check_config,
2636
+ :health_check_custom_config,
2637
+ :create_date)
2159
2638
  include Aws::Structure
2160
2639
  end
2161
2640
 
@@ -2169,12 +2648,17 @@ module Aws::ServiceDiscovery
2169
2648
  # }
2170
2649
  #
2171
2650
  # @!attribute [rw] service_id
2651
+ # The ID of the service that includes the configuration for the custom
2652
+ # health check that you want to change the status for.
2172
2653
  # @return [String]
2173
2654
  #
2174
2655
  # @!attribute [rw] instance_id
2656
+ # The ID of the instance that you want to change the health status
2657
+ # for.
2175
2658
  # @return [String]
2176
2659
  #
2177
2660
  # @!attribute [rw] status
2661
+ # The new status of the instance, `HEALTHY` or `UNHEALTHY`.
2178
2662
  # @return [String]
2179
2663
  #
2180
2664
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateInstanceCustomHealthStatusRequest AWS API Documentation
@@ -2202,7 +2686,7 @@ module Aws::ServiceDiscovery
2202
2686
  # ],
2203
2687
  # },
2204
2688
  # health_check_config: {
2205
- # type: "HTTP", # accepts HTTP, HTTPS, TCP
2689
+ # type: "HTTP", # required, accepts HTTP, HTTPS, TCP
2206
2690
  # resource_path: "ResourcePath",
2207
2691
  # failure_threshold: 1,
2208
2692
  # },