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.
- checksums.yaml +4 -4
- data/lib/aws-sdk-servicediscovery.rb +3 -3
- data/lib/aws-sdk-servicediscovery/client.rb +269 -84
- data/lib/aws-sdk-servicediscovery/client_api.rb +80 -4
- data/lib/aws-sdk-servicediscovery/types.rb +664 -180
- metadata +4 -4
@@ -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,
|
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
|
-
|
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" => "
|
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,
|
24
|
-
# that has the same name as the
|
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: {
|
124
|
-
# namespace_id: "ResourceId",
|
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
|
163
|
-
# want
|
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
|
169
|
-
# check,
|
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
|
-
#
|
173
|
-
#
|
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
|
-
#
|
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
|
-
#
|
296
|
-
#
|
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",
|
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
|
318
|
-
#
|
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
|
376
|
-
# you want
|
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
|
389
|
-
# that
|
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
|
405
|
-
# you want
|
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
|
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
|
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
|
431
|
-
# want
|
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
|
448
|
-
# of one A, one AAAA, and one SRV record. You can specify
|
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 DNS
|
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
|
457
|
-
# when you register an instance, specify `A` or `AAAA`
|
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,
|
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`,
|
604
|
-
#
|
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
|
615
|
-
# the response to a `GetInstancesHealthStatus` request. If
|
616
|
-
# specify a value for `MaxResults`,
|
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,
|
751
|
-
#
|
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
|
-
#
|
757
|
-
# the health of the resource. If the endpoint that is specified by
|
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
|
-
#
|
770
|
-
#
|
771
|
-
#
|
772
|
-
#
|
773
|
-
#
|
774
|
-
#
|
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][
|
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,
|
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][
|
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
|
-
#
|
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
|
-
#
|
804
|
-
# [
|
805
|
-
# [
|
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
|
852
|
-
#
|
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
|
-
#
|
894
|
-
#
|
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`,
|
912
|
-
# updates the existing records. If there's also an existing
|
913
|
-
# check,
|
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
|
949
|
-
# to an Elastic Load Balancing load balancer, specify
|
950
|
-
# that is associated with the load balancer. For
|
951
|
-
# to get the DNS name, see "DNSName" in the
|
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,
|
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/
|
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
|
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`,
|
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">
|
1156
|
-
# the specified criteria. It's possible that no namespaces
|
1157
|
-
# first `MaxResults` namespaces matched the specified criteria
|
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
|
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`,
|
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">
|
1200
|
-
# the specified criteria. It's possible that no namespaces
|
1201
|
-
# first `MaxResults` namespaces matched the specified criteria
|
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">
|
1240
|
-
# the specified criteria. It's possible that no operations
|
1241
|
-
# first `MaxResults` operations matched the specified criteria
|
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
|
1250
|
-
#
|
1251
|
-
#
|
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">
|
1284
|
-
# the specified criteria. It's possible that no operations
|
1285
|
-
# first `MaxResults` operations matched the specified criteria
|
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">
|
1323
|
-
# the specified criteria. It's possible that no services in the
|
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
|
1333
|
-
#
|
1334
|
-
#
|
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">
|
1366
|
-
# the specified criteria. It's possible that no services in the
|
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
|
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
|
1497
|
-
#
|
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
|
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,
|
1520
|
-
# automatically creates a hosted zone that has the same
|
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**\:
|
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**\:
|
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
|
-
#
|
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`,
|
1768
|
-
# updates the existing records. If there's also an
|
1769
|
-
# check,
|
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
|
1808
|
-
# to an Elastic Load Balancing load balancer,
|
1809
|
-
# that is associated with the load balancer. For
|
1810
|
-
# to get the DNS name, see "DNSName" in the
|
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,
|
1822
|
-
# check, but it won't associate the health check with the
|
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
|
-
#
|
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
|
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
|
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
|
1927
|
-
# want
|
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,
|
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 [
|
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
|
2005
|
-
# want
|
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,
|
2012
|
-
#
|
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
|
-
#
|
2018
|
-
# the health of the resource. If the endpoint that is specified
|
2019
|
-
# IPv4 address is unhealthy, Route 53 considers both the A and
|
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
|
-
#
|
2031
|
-
#
|
2032
|
-
#
|
2033
|
-
#
|
2034
|
-
#
|
2035
|
-
#
|
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][
|
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,
|
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][
|
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
|
-
#
|
2063
|
-
#
|
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://
|
2068
|
-
# [2]: http://docs.aws.amazon.com/Route53/latest/APIReference/
|
2069
|
-
# [3]: http://aws.amazon.com/
|
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
|
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
|
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
|
# },
|