aws-sdk-servicediscovery 1.8.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
  # },