aws-sdk-servicediscovery 1.34.0 → 1.38.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -66,9 +66,11 @@ module Aws::ServiceDiscovery
66
66
  HealthStatusFilter = Shapes::StringShape.new(name: 'HealthStatusFilter')
67
67
  HttpInstanceSummary = Shapes::StructureShape.new(name: 'HttpInstanceSummary')
68
68
  HttpInstanceSummaryList = Shapes::ListShape.new(name: 'HttpInstanceSummaryList')
69
+ HttpNamespaceChange = Shapes::StructureShape.new(name: 'HttpNamespaceChange')
69
70
  HttpProperties = Shapes::StructureShape.new(name: 'HttpProperties')
70
71
  Instance = Shapes::StructureShape.new(name: 'Instance')
71
72
  InstanceHealthStatusMap = Shapes::MapShape.new(name: 'InstanceHealthStatusMap')
73
+ InstanceId = Shapes::StringShape.new(name: 'InstanceId')
72
74
  InstanceIdList = Shapes::ListShape.new(name: 'InstanceIdList')
73
75
  InstanceNotFound = Shapes::StructureShape.new(name: 'InstanceNotFound')
74
76
  InstanceSummary = Shapes::StructureShape.new(name: 'InstanceSummary')
@@ -113,6 +115,16 @@ module Aws::ServiceDiscovery
113
115
  OperationTargetType = Shapes::StringShape.new(name: 'OperationTargetType')
114
116
  OperationTargetsMap = Shapes::MapShape.new(name: 'OperationTargetsMap')
115
117
  OperationType = Shapes::StringShape.new(name: 'OperationType')
118
+ PrivateDnsNamespaceChange = Shapes::StructureShape.new(name: 'PrivateDnsNamespaceChange')
119
+ PrivateDnsNamespaceProperties = Shapes::StructureShape.new(name: 'PrivateDnsNamespaceProperties')
120
+ PrivateDnsNamespacePropertiesChange = Shapes::StructureShape.new(name: 'PrivateDnsNamespacePropertiesChange')
121
+ PrivateDnsPropertiesMutable = Shapes::StructureShape.new(name: 'PrivateDnsPropertiesMutable')
122
+ PrivateDnsPropertiesMutableChange = Shapes::StructureShape.new(name: 'PrivateDnsPropertiesMutableChange')
123
+ PublicDnsNamespaceChange = Shapes::StructureShape.new(name: 'PublicDnsNamespaceChange')
124
+ PublicDnsNamespaceProperties = Shapes::StructureShape.new(name: 'PublicDnsNamespaceProperties')
125
+ PublicDnsNamespacePropertiesChange = Shapes::StructureShape.new(name: 'PublicDnsNamespacePropertiesChange')
126
+ PublicDnsPropertiesMutable = Shapes::StructureShape.new(name: 'PublicDnsPropertiesMutable')
127
+ PublicDnsPropertiesMutableChange = Shapes::StructureShape.new(name: 'PublicDnsPropertiesMutableChange')
116
128
  RecordTTL = Shapes::IntegerShape.new(name: 'RecordTTL')
117
129
  RecordType = Shapes::StringShape.new(name: 'RecordType')
118
130
  RegisterInstanceRequest = Shapes::StructureShape.new(name: 'RegisterInstanceRequest')
@@ -126,6 +138,8 @@ module Aws::ServiceDiscovery
126
138
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
127
139
  ResourcePath = Shapes::StringShape.new(name: 'ResourcePath')
128
140
  RoutingPolicy = Shapes::StringShape.new(name: 'RoutingPolicy')
141
+ SOA = Shapes::StructureShape.new(name: 'SOA')
142
+ SOAChange = Shapes::StructureShape.new(name: 'SOAChange')
129
143
  Service = Shapes::StructureShape.new(name: 'Service')
130
144
  ServiceAlreadyExists = Shapes::StructureShape.new(name: 'ServiceAlreadyExists')
131
145
  ServiceChange = Shapes::StructureShape.new(name: 'ServiceChange')
@@ -149,7 +163,13 @@ module Aws::ServiceDiscovery
149
163
  TooManyTagsException = Shapes::StructureShape.new(name: 'TooManyTagsException')
150
164
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
151
165
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
166
+ UpdateHttpNamespaceRequest = Shapes::StructureShape.new(name: 'UpdateHttpNamespaceRequest')
167
+ UpdateHttpNamespaceResponse = Shapes::StructureShape.new(name: 'UpdateHttpNamespaceResponse')
152
168
  UpdateInstanceCustomHealthStatusRequest = Shapes::StructureShape.new(name: 'UpdateInstanceCustomHealthStatusRequest')
169
+ UpdatePrivateDnsNamespaceRequest = Shapes::StructureShape.new(name: 'UpdatePrivateDnsNamespaceRequest')
170
+ UpdatePrivateDnsNamespaceResponse = Shapes::StructureShape.new(name: 'UpdatePrivateDnsNamespaceResponse')
171
+ UpdatePublicDnsNamespaceRequest = Shapes::StructureShape.new(name: 'UpdatePublicDnsNamespaceRequest')
172
+ UpdatePublicDnsNamespaceResponse = Shapes::StructureShape.new(name: 'UpdatePublicDnsNamespaceResponse')
153
173
  UpdateServiceRequest = Shapes::StructureShape.new(name: 'UpdateServiceRequest')
154
174
  UpdateServiceResponse = Shapes::StructureShape.new(name: 'UpdateServiceResponse')
155
175
 
@@ -170,6 +190,7 @@ module Aws::ServiceDiscovery
170
190
  CreatePrivateDnsNamespaceRequest.add_member(:description, Shapes::ShapeRef.new(shape: ResourceDescription, location_name: "Description"))
171
191
  CreatePrivateDnsNamespaceRequest.add_member(:vpc, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "Vpc"))
172
192
  CreatePrivateDnsNamespaceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
193
+ CreatePrivateDnsNamespaceRequest.add_member(:properties, Shapes::ShapeRef.new(shape: PrivateDnsNamespaceProperties, location_name: "Properties"))
173
194
  CreatePrivateDnsNamespaceRequest.struct_class = Types::CreatePrivateDnsNamespaceRequest
174
195
 
175
196
  CreatePrivateDnsNamespaceResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
@@ -179,6 +200,7 @@ module Aws::ServiceDiscovery
179
200
  CreatePublicDnsNamespaceRequest.add_member(:creator_request_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "CreatorRequestId", metadata: {"idempotencyToken"=>true}))
180
201
  CreatePublicDnsNamespaceRequest.add_member(:description, Shapes::ShapeRef.new(shape: ResourceDescription, location_name: "Description"))
181
202
  CreatePublicDnsNamespaceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
203
+ CreatePublicDnsNamespaceRequest.add_member(:properties, Shapes::ShapeRef.new(shape: PublicDnsNamespaceProperties, location_name: "Properties"))
182
204
  CreatePublicDnsNamespaceRequest.struct_class = Types::CreatePublicDnsNamespaceRequest
183
205
 
184
206
  CreatePublicDnsNamespaceResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
@@ -239,6 +261,7 @@ module Aws::ServiceDiscovery
239
261
  DnsConfigChange.struct_class = Types::DnsConfigChange
240
262
 
241
263
  DnsProperties.add_member(:hosted_zone_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "HostedZoneId"))
264
+ DnsProperties.add_member(:soa, Shapes::ShapeRef.new(shape: SOA, location_name: "SOA"))
242
265
  DnsProperties.struct_class = Types::DnsProperties
243
266
 
244
267
  DnsRecord.add_member(:type, Shapes::ShapeRef.new(shape: RecordType, required: true, location_name: "Type"))
@@ -305,6 +328,9 @@ module Aws::ServiceDiscovery
305
328
 
306
329
  HttpInstanceSummaryList.member = Shapes::ShapeRef.new(shape: HttpInstanceSummary)
307
330
 
331
+ HttpNamespaceChange.add_member(:description, Shapes::ShapeRef.new(shape: ResourceDescription, required: true, location_name: "Description"))
332
+ HttpNamespaceChange.struct_class = Types::HttpNamespaceChange
333
+
308
334
  HttpProperties.add_member(:http_name, Shapes::ShapeRef.new(shape: NamespaceName, location_name: "HttpName"))
309
335
  HttpProperties.struct_class = Types::HttpProperties
310
336
 
@@ -443,8 +469,40 @@ module Aws::ServiceDiscovery
443
469
  OperationTargetsMap.key = Shapes::ShapeRef.new(shape: OperationTargetType)
444
470
  OperationTargetsMap.value = Shapes::ShapeRef.new(shape: ResourceId)
445
471
 
472
+ PrivateDnsNamespaceChange.add_member(:description, Shapes::ShapeRef.new(shape: ResourceDescription, location_name: "Description"))
473
+ PrivateDnsNamespaceChange.add_member(:properties, Shapes::ShapeRef.new(shape: PrivateDnsNamespacePropertiesChange, location_name: "Properties"))
474
+ PrivateDnsNamespaceChange.struct_class = Types::PrivateDnsNamespaceChange
475
+
476
+ PrivateDnsNamespaceProperties.add_member(:dns_properties, Shapes::ShapeRef.new(shape: PrivateDnsPropertiesMutable, required: true, location_name: "DnsProperties"))
477
+ PrivateDnsNamespaceProperties.struct_class = Types::PrivateDnsNamespaceProperties
478
+
479
+ PrivateDnsNamespacePropertiesChange.add_member(:dns_properties, Shapes::ShapeRef.new(shape: PrivateDnsPropertiesMutableChange, required: true, location_name: "DnsProperties"))
480
+ PrivateDnsNamespacePropertiesChange.struct_class = Types::PrivateDnsNamespacePropertiesChange
481
+
482
+ PrivateDnsPropertiesMutable.add_member(:soa, Shapes::ShapeRef.new(shape: SOA, required: true, location_name: "SOA"))
483
+ PrivateDnsPropertiesMutable.struct_class = Types::PrivateDnsPropertiesMutable
484
+
485
+ PrivateDnsPropertiesMutableChange.add_member(:soa, Shapes::ShapeRef.new(shape: SOAChange, required: true, location_name: "SOA"))
486
+ PrivateDnsPropertiesMutableChange.struct_class = Types::PrivateDnsPropertiesMutableChange
487
+
488
+ PublicDnsNamespaceChange.add_member(:description, Shapes::ShapeRef.new(shape: ResourceDescription, location_name: "Description"))
489
+ PublicDnsNamespaceChange.add_member(:properties, Shapes::ShapeRef.new(shape: PublicDnsNamespacePropertiesChange, location_name: "Properties"))
490
+ PublicDnsNamespaceChange.struct_class = Types::PublicDnsNamespaceChange
491
+
492
+ PublicDnsNamespaceProperties.add_member(:dns_properties, Shapes::ShapeRef.new(shape: PublicDnsPropertiesMutable, required: true, location_name: "DnsProperties"))
493
+ PublicDnsNamespaceProperties.struct_class = Types::PublicDnsNamespaceProperties
494
+
495
+ PublicDnsNamespacePropertiesChange.add_member(:dns_properties, Shapes::ShapeRef.new(shape: PublicDnsPropertiesMutableChange, required: true, location_name: "DnsProperties"))
496
+ PublicDnsNamespacePropertiesChange.struct_class = Types::PublicDnsNamespacePropertiesChange
497
+
498
+ PublicDnsPropertiesMutable.add_member(:soa, Shapes::ShapeRef.new(shape: SOA, required: true, location_name: "SOA"))
499
+ PublicDnsPropertiesMutable.struct_class = Types::PublicDnsPropertiesMutable
500
+
501
+ PublicDnsPropertiesMutableChange.add_member(:soa, Shapes::ShapeRef.new(shape: SOAChange, required: true, location_name: "SOA"))
502
+ PublicDnsPropertiesMutableChange.struct_class = Types::PublicDnsPropertiesMutableChange
503
+
446
504
  RegisterInstanceRequest.add_member(:service_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ServiceId"))
447
- RegisterInstanceRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "InstanceId"))
505
+ RegisterInstanceRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location_name: "InstanceId"))
448
506
  RegisterInstanceRequest.add_member(:creator_request_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "CreatorRequestId", metadata: {"idempotencyToken"=>true}))
449
507
  RegisterInstanceRequest.add_member(:attributes, Shapes::ShapeRef.new(shape: Attributes, required: true, location_name: "Attributes"))
450
508
  RegisterInstanceRequest.struct_class = Types::RegisterInstanceRequest
@@ -464,6 +522,12 @@ module Aws::ServiceDiscovery
464
522
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
465
523
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
466
524
 
525
+ SOA.add_member(:ttl, Shapes::ShapeRef.new(shape: RecordTTL, required: true, location_name: "TTL"))
526
+ SOA.struct_class = Types::SOA
527
+
528
+ SOAChange.add_member(:ttl, Shapes::ShapeRef.new(shape: RecordTTL, required: true, location_name: "TTL"))
529
+ SOAChange.struct_class = Types::SOAChange
530
+
467
531
  Service.add_member(:id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "Id"))
468
532
  Service.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, location_name: "Arn"))
469
533
  Service.add_member(:name, Shapes::ShapeRef.new(shape: ServiceName, location_name: "Name"))
@@ -536,11 +600,35 @@ module Aws::ServiceDiscovery
536
600
 
537
601
  UntagResourceResponse.struct_class = Types::UntagResourceResponse
538
602
 
603
+ UpdateHttpNamespaceRequest.add_member(:id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "Id"))
604
+ UpdateHttpNamespaceRequest.add_member(:updater_request_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "UpdaterRequestId", metadata: {"idempotencyToken"=>true}))
605
+ UpdateHttpNamespaceRequest.add_member(:namespace, Shapes::ShapeRef.new(shape: HttpNamespaceChange, required: true, location_name: "Namespace"))
606
+ UpdateHttpNamespaceRequest.struct_class = Types::UpdateHttpNamespaceRequest
607
+
608
+ UpdateHttpNamespaceResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
609
+ UpdateHttpNamespaceResponse.struct_class = Types::UpdateHttpNamespaceResponse
610
+
539
611
  UpdateInstanceCustomHealthStatusRequest.add_member(:service_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ServiceId"))
540
612
  UpdateInstanceCustomHealthStatusRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "InstanceId"))
541
613
  UpdateInstanceCustomHealthStatusRequest.add_member(:status, Shapes::ShapeRef.new(shape: CustomHealthStatus, required: true, location_name: "Status"))
542
614
  UpdateInstanceCustomHealthStatusRequest.struct_class = Types::UpdateInstanceCustomHealthStatusRequest
543
615
 
616
+ UpdatePrivateDnsNamespaceRequest.add_member(:id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "Id"))
617
+ UpdatePrivateDnsNamespaceRequest.add_member(:updater_request_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "UpdaterRequestId", metadata: {"idempotencyToken"=>true}))
618
+ UpdatePrivateDnsNamespaceRequest.add_member(:namespace, Shapes::ShapeRef.new(shape: PrivateDnsNamespaceChange, required: true, location_name: "Namespace"))
619
+ UpdatePrivateDnsNamespaceRequest.struct_class = Types::UpdatePrivateDnsNamespaceRequest
620
+
621
+ UpdatePrivateDnsNamespaceResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
622
+ UpdatePrivateDnsNamespaceResponse.struct_class = Types::UpdatePrivateDnsNamespaceResponse
623
+
624
+ UpdatePublicDnsNamespaceRequest.add_member(:id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "Id"))
625
+ UpdatePublicDnsNamespaceRequest.add_member(:updater_request_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "UpdaterRequestId", metadata: {"idempotencyToken"=>true}))
626
+ UpdatePublicDnsNamespaceRequest.add_member(:namespace, Shapes::ShapeRef.new(shape: PublicDnsNamespaceChange, required: true, location_name: "Namespace"))
627
+ UpdatePublicDnsNamespaceRequest.struct_class = Types::UpdatePublicDnsNamespaceRequest
628
+
629
+ UpdatePublicDnsNamespaceResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
630
+ UpdatePublicDnsNamespaceResponse.struct_class = Types::UpdatePublicDnsNamespaceResponse
631
+
544
632
  UpdateServiceRequest.add_member(:id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "Id"))
545
633
  UpdateServiceRequest.add_member(:service, Shapes::ShapeRef.new(shape: ServiceChange, required: true, location_name: "Service"))
546
634
  UpdateServiceRequest.struct_class = Types::UpdateServiceRequest
@@ -833,6 +921,18 @@ module Aws::ServiceDiscovery
833
921
  o.errors << Shapes::ShapeRef.new(shape: InvalidInput)
834
922
  end)
835
923
 
924
+ api.add_operation(:update_http_namespace, Seahorse::Model::Operation.new.tap do |o|
925
+ o.name = "UpdateHttpNamespace"
926
+ o.http_method = "POST"
927
+ o.http_request_uri = "/"
928
+ o.input = Shapes::ShapeRef.new(shape: UpdateHttpNamespaceRequest)
929
+ o.output = Shapes::ShapeRef.new(shape: UpdateHttpNamespaceResponse)
930
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInput)
931
+ o.errors << Shapes::ShapeRef.new(shape: NamespaceNotFound)
932
+ o.errors << Shapes::ShapeRef.new(shape: ResourceInUse)
933
+ o.errors << Shapes::ShapeRef.new(shape: DuplicateRequest)
934
+ end)
935
+
836
936
  api.add_operation(:update_instance_custom_health_status, Seahorse::Model::Operation.new.tap do |o|
837
937
  o.name = "UpdateInstanceCustomHealthStatus"
838
938
  o.http_method = "POST"
@@ -845,6 +945,30 @@ module Aws::ServiceDiscovery
845
945
  o.errors << Shapes::ShapeRef.new(shape: InvalidInput)
846
946
  end)
847
947
 
948
+ api.add_operation(:update_private_dns_namespace, Seahorse::Model::Operation.new.tap do |o|
949
+ o.name = "UpdatePrivateDnsNamespace"
950
+ o.http_method = "POST"
951
+ o.http_request_uri = "/"
952
+ o.input = Shapes::ShapeRef.new(shape: UpdatePrivateDnsNamespaceRequest)
953
+ o.output = Shapes::ShapeRef.new(shape: UpdatePrivateDnsNamespaceResponse)
954
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInput)
955
+ o.errors << Shapes::ShapeRef.new(shape: NamespaceNotFound)
956
+ o.errors << Shapes::ShapeRef.new(shape: ResourceInUse)
957
+ o.errors << Shapes::ShapeRef.new(shape: DuplicateRequest)
958
+ end)
959
+
960
+ api.add_operation(:update_public_dns_namespace, Seahorse::Model::Operation.new.tap do |o|
961
+ o.name = "UpdatePublicDnsNamespace"
962
+ o.http_method = "POST"
963
+ o.http_request_uri = "/"
964
+ o.input = Shapes::ShapeRef.new(shape: UpdatePublicDnsNamespaceRequest)
965
+ o.output = Shapes::ShapeRef.new(shape: UpdatePublicDnsNamespaceResponse)
966
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInput)
967
+ o.errors << Shapes::ShapeRef.new(shape: NamespaceNotFound)
968
+ o.errors << Shapes::ShapeRef.new(shape: ResourceInUse)
969
+ o.errors << Shapes::ShapeRef.new(shape: DuplicateRequest)
970
+ end)
971
+
848
972
  api.add_operation(:update_service, Seahorse::Model::Operation.new.tap do |o|
849
973
  o.name = "UpdateService"
850
974
  o.http_method = "POST"
@@ -32,8 +32,8 @@ module Aws::ServiceDiscovery
32
32
  # @!attribute [rw] creator_request_id
33
33
  # A unique string that identifies the request and that allows failed
34
34
  # `CreateHttpNamespace` requests to be retried without the risk of
35
- # executing the operation twice. `CreatorRequestId` can be any unique
36
- # string, for example, a date/time stamp.
35
+ # running the operation twice. `CreatorRequestId` can be any unique
36
+ # string (for example, a date/time stamp).
37
37
  #
38
38
  # **A suitable default value is auto-generated.** You should normally
39
39
  # not need to pass this option.
@@ -45,9 +45,9 @@ module Aws::ServiceDiscovery
45
45
  #
46
46
  # @!attribute [rw] tags
47
47
  # The tags to add to the namespace. Each tag consists of a key and an
48
- # optional value, both of which you define. Tag keys can have a
49
- # maximum character length of 128 characters, and tag values can have
50
- # a maximum length of 256 characters.
48
+ # optional value that you define. Tags keys can be up to 128
49
+ # characters in length, and tag values can be up to 256 characters in
50
+ # length.
51
51
  # @return [Array<Types::Tag>]
52
52
  #
53
53
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateHttpNamespaceRequest AWS API Documentation
@@ -93,20 +93,27 @@ module Aws::ServiceDiscovery
93
93
  # value: "TagValue", # required
94
94
  # },
95
95
  # ],
96
+ # properties: {
97
+ # dns_properties: { # required
98
+ # soa: { # required
99
+ # ttl: 1, # required
100
+ # },
101
+ # },
102
+ # },
96
103
  # }
97
104
  #
98
105
  # @!attribute [rw] name
99
106
  # The name that you want to assign to this namespace. When you create
100
- # a private DNS namespace, AWS Cloud Map automatically creates an
101
- # Amazon Route 53 private hosted zone that has the same name as the
107
+ # a private DNS namespace, Cloud Map automatically creates an Amazon
108
+ # Route 53 private hosted zone that has the same name as the
102
109
  # namespace.
103
110
  # @return [String]
104
111
  #
105
112
  # @!attribute [rw] creator_request_id
106
113
  # A unique string that identifies the request and that allows failed
107
114
  # `CreatePrivateDnsNamespace` requests to be retried without the risk
108
- # of executing the operation twice. `CreatorRequestId` can be any
109
- # unique string, for example, a date/time stamp.
115
+ # of running the operation twice. `CreatorRequestId` can be any unique
116
+ # string (for example, a date/timestamp).
110
117
  #
111
118
  # **A suitable default value is auto-generated.** You should normally
112
119
  # not need to pass this option.
@@ -123,11 +130,15 @@ module Aws::ServiceDiscovery
123
130
  #
124
131
  # @!attribute [rw] tags
125
132
  # The tags to add to the namespace. Each tag consists of a key and an
126
- # optional value, both of which you define. Tag keys can have a
127
- # maximum character length of 128 characters, and tag values can have
128
- # a maximum length of 256 characters.
133
+ # optional value that you define. Tags keys can be up to 128
134
+ # characters in length, and tag values can be up to 256 characters in
135
+ # length.
129
136
  # @return [Array<Types::Tag>]
130
137
  #
138
+ # @!attribute [rw] properties
139
+ # Properties for the private DNS namespace.
140
+ # @return [Types::PrivateDnsNamespaceProperties]
141
+ #
131
142
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreatePrivateDnsNamespaceRequest AWS API Documentation
132
143
  #
133
144
  class CreatePrivateDnsNamespaceRequest < Struct.new(
@@ -135,7 +146,8 @@ module Aws::ServiceDiscovery
135
146
  :creator_request_id,
136
147
  :description,
137
148
  :vpc,
138
- :tags)
149
+ :tags,
150
+ :properties)
139
151
  SENSITIVE = []
140
152
  include Aws::Structure
141
153
  end
@@ -171,6 +183,13 @@ module Aws::ServiceDiscovery
171
183
  # value: "TagValue", # required
172
184
  # },
173
185
  # ],
186
+ # properties: {
187
+ # dns_properties: { # required
188
+ # soa: { # required
189
+ # ttl: 1, # required
190
+ # },
191
+ # },
192
+ # },
174
193
  # }
175
194
  #
176
195
  # @!attribute [rw] name
@@ -180,8 +199,8 @@ module Aws::ServiceDiscovery
180
199
  # @!attribute [rw] creator_request_id
181
200
  # A unique string that identifies the request and that allows failed
182
201
  # `CreatePublicDnsNamespace` requests to be retried without the risk
183
- # of executing the operation twice. `CreatorRequestId` can be any
184
- # unique string, for example, a date/time stamp.
202
+ # of running the operation twice. `CreatorRequestId` can be any unique
203
+ # string (for example, a date/timestamp).
185
204
  #
186
205
  # **A suitable default value is auto-generated.** You should normally
187
206
  # not need to pass this option.
@@ -193,18 +212,23 @@ module Aws::ServiceDiscovery
193
212
  #
194
213
  # @!attribute [rw] tags
195
214
  # The tags to add to the namespace. Each tag consists of a key and an
196
- # optional value, both of which you define. Tag keys can have a
197
- # maximum character length of 128 characters, and tag values can have
198
- # a maximum length of 256 characters.
215
+ # optional value that you define. Tags keys can be up to 128
216
+ # characters in length, and tag values can be up to 256 characters in
217
+ # length.
199
218
  # @return [Array<Types::Tag>]
200
219
  #
220
+ # @!attribute [rw] properties
221
+ # Properties for the public DNS namespace.
222
+ # @return [Types::PublicDnsNamespaceProperties]
223
+ #
201
224
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreatePublicDnsNamespaceRequest AWS API Documentation
202
225
  #
203
226
  class CreatePublicDnsNamespaceRequest < Struct.new(
204
227
  :name,
205
228
  :creator_request_id,
206
229
  :description,
207
- :tags)
230
+ :tags,
231
+ :properties)
208
232
  SENSITIVE = []
209
233
  include Aws::Structure
210
234
  end
@@ -265,26 +289,26 @@ module Aws::ServiceDiscovery
265
289
  # @!attribute [rw] name
266
290
  # The name that you want to assign to the service.
267
291
  #
268
- # If you want AWS Cloud Map to create an `SRV` record when you
269
- # register an instance, and if you're using a system that requires a
270
- # specific `SRV` format, such as [HAProxy][1], specify the following
271
- # for `Name`\:
292
+ # If you want Cloud Map to create an `SRV` record when you register an
293
+ # instance and you're using a system that requires a specific `SRV`
294
+ # format, such as [HAProxy][1], specify the following for `Name`\:
272
295
  #
273
- # * Start the name with an underscore (\_), such as `_exampleservice`
296
+ # * Start the name with an underscore (\_), such as `_exampleservice`.
274
297
  #
275
- # * End the name with *.\_protocol*, such as `._tcp`
298
+ # * End the name with *.\_protocol*, such as `._tcp`.
276
299
  #
277
- # When you register an instance, AWS Cloud Map creates an `SRV` record
278
- # and assigns a name to the record by concatenating the service name
279
- # and the namespace name, for example:
300
+ # When you register an instance, Cloud Map creates an `SRV` record and
301
+ # assigns a name to the record by concatenating the service name and
302
+ # the namespace name (for example,
280
303
  #
281
- # `_exampleservice._tcp.example.com`
304
+ # `_exampleservice._tcp.example.com`).
282
305
  #
283
- # <note markdown="1"> For a single DNS namespace, you cannot create two services with
284
- # names that differ only by case (such as EXAMPLE and example).
285
- # Otherwise, these services will have the same DNS name. However, you
286
- # can create multiple HTTP services with names that differ only by
287
- # case because HTTP services are case sensitive.
306
+ # <note markdown="1"> For services that are accessible by DNS queries, you can't create
307
+ # multiple services with names that differ only by case (such as
308
+ # EXAMPLE and example). Otherwise, these services have the same DNS
309
+ # name and can't be distinguished. However, if you use a namespace
310
+ # that's only accessible by API calls, then you can create services
311
+ # that with names that differ only by case.
288
312
  #
289
313
  # </note>
290
314
  #
@@ -295,13 +319,15 @@ module Aws::ServiceDiscovery
295
319
  #
296
320
  # @!attribute [rw] namespace_id
297
321
  # The ID of the namespace that you want to use to create the service.
322
+ # The namespace ID must be specified, but it can be specified either
323
+ # here or in the `DnsConfig` object.
298
324
  # @return [String]
299
325
  #
300
326
  # @!attribute [rw] creator_request_id
301
327
  # A unique string that identifies the request and that allows failed
302
- # `CreateService` requests to be retried without the risk of executing
303
- # the operation twice. `CreatorRequestId` can be any unique string,
304
- # for example, a date/time stamp.
328
+ # `CreateService` requests to be retried without the risk of running
329
+ # the operation twice. `CreatorRequestId` can be any unique string
330
+ # (for example, a date/timestamp).
305
331
  #
306
332
  # **A suitable default value is auto-generated.** You should normally
307
333
  # not need to pass this option.
@@ -312,23 +338,22 @@ module Aws::ServiceDiscovery
312
338
  # @return [String]
313
339
  #
314
340
  # @!attribute [rw] dns_config
315
- # A complex type that contains information about the Amazon Route 53
316
- # records that you want AWS Cloud Map to create when you register an
341
+ # A complex type that contains information about the Amazon Route 53
342
+ # records that you want Cloud Map to create when you register an
317
343
  # instance.
318
344
  # @return [Types::DnsConfig]
319
345
  #
320
346
  # @!attribute [rw] health_check_config
321
347
  # *Public DNS and HTTP namespaces only.* A complex type that contains
322
- # settings for an optional Route 53 health check. If you specify
323
- # settings for a health check, AWS Cloud Map associates the health
324
- # check with all the Route 53 DNS records that you specify in
325
- # `DnsConfig`.
348
+ # settings for an optional Route 53 health check. If you specify
349
+ # settings for a health check, Cloud Map associates the health check
350
+ # with all the Route 53 DNS records that you specify in `DnsConfig`.
326
351
  #
327
352
  # If you specify a health check configuration, you can specify either
328
353
  # `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
329
354
  #
330
- # For information about the charges for health checks, see [AWS Cloud
331
- # Map Pricing][1].
355
+ # For information about the charges for health checks, see [Cloud Map
356
+ # Pricing][1].
332
357
  #
333
358
  #
334
359
  #
@@ -348,15 +373,15 @@ module Aws::ServiceDiscovery
348
373
  #
349
374
  # @!attribute [rw] tags
350
375
  # The tags to add to the service. Each tag consists of a key and an
351
- # optional value, both of which you define. Tag keys can have a
352
- # maximum character length of 128 characters, and tag values can have
353
- # a maximum length of 256 characters.
376
+ # optional value that you define. Tags keys can be up to 128
377
+ # characters in length, and tag values can be up to 256 characters in
378
+ # length.
354
379
  # @return [Array<Types::Tag>]
355
380
  #
356
381
  # @!attribute [rw] type
357
382
  # If present, specifies that the service instances are only
358
383
  # discoverable using the `DiscoverInstances` API operation. No DNS
359
- # records will be registered for the service instances. The only valid
384
+ # records is registered for the service instances. The only valid
360
385
  # value is `HTTP`.
361
386
  # @return [String]
362
387
  #
@@ -388,8 +413,8 @@ module Aws::ServiceDiscovery
388
413
  include Aws::Structure
389
414
  end
390
415
 
391
- # The health check for the instance that is specified by `ServiceId` and
392
- # `InstanceId` is not a custom health check.
416
+ # The health check for the instance that's specified by `ServiceId` and
417
+ # `InstanceId` isn't a custom health check.
393
418
  #
394
419
  # @!attribute [rw] message
395
420
  # @return [String]
@@ -494,7 +519,8 @@ module Aws::ServiceDiscovery
494
519
 
495
520
  # @!attribute [rw] operation_id
496
521
  # A value that you can use to determine whether the request completed
497
- # successfully. For more information, see [GetOperation][1].
522
+ # successfully. To get the status of the operation, see
523
+ # [GetOperation][1].
498
524
  #
499
525
  #
500
526
  #
@@ -522,12 +548,12 @@ module Aws::ServiceDiscovery
522
548
  # optional_parameters: {
523
549
  # "AttrKey" => "AttrValue",
524
550
  # },
525
- # health_status: "HEALTHY", # accepts HEALTHY, UNHEALTHY, ALL
551
+ # health_status: "HEALTHY", # accepts HEALTHY, UNHEALTHY, ALL, HEALTHY_OR_ELSE_ALL
526
552
  # }
527
553
  #
528
554
  # @!attribute [rw] namespace_name
529
- # The name of the namespace that you specified when you registered the
530
- # instance.
555
+ # The `HttpName` name of the namespace. It's found in the
556
+ # `HttpProperties` member of the `Properties` member of the namespace.
531
557
  # @return [String]
532
558
  #
533
559
  # @!attribute [rw] service_name
@@ -536,29 +562,48 @@ module Aws::ServiceDiscovery
536
562
  # @return [String]
537
563
  #
538
564
  # @!attribute [rw] max_results
539
- # The maximum number of instances that you want AWS Cloud Map to
540
- # return in the response to a `DiscoverInstances` request. If you
541
- # don't specify a value for `MaxResults`, AWS Cloud Map returns up to
542
- # 100 instances.
565
+ # The maximum number of instances that you want Cloud Map to return in
566
+ # the response to a `DiscoverInstances` request. If you don't specify
567
+ # a value for `MaxResults`, Cloud Map returns up to 100 instances.
543
568
  # @return [Integer]
544
569
  #
545
570
  # @!attribute [rw] query_parameters
546
571
  # Filters to scope the results based on custom attributes for the
547
- # instance. For example, `\{version=v1, az=1a\}`. Only instances that
548
- # match all the specified key-value pairs will be returned.
572
+ # instance (for example, `\{version=v1, az=1a\}`). Only instances that
573
+ # match all the specified key-value pairs are returned.
549
574
  # @return [Hash<String,String>]
550
575
  #
551
576
  # @!attribute [rw] optional_parameters
552
577
  # Opportunistic filters to scope the results based on custom
553
578
  # attributes. If there are instances that match both the filters
554
579
  # specified in both the `QueryParameters` parameter and this
555
- # parameter, they are returned. Otherwise, these filters are ignored
556
- # and only instances that match the filters specified in the
557
- # `QueryParameters` parameter are returned.
580
+ # parameter, all of these instances are returned. Otherwise, the
581
+ # filters are ignored, and only instances that match the filters that
582
+ # are specified in the `QueryParameters` parameter are returned.
558
583
  # @return [Hash<String,String>]
559
584
  #
560
585
  # @!attribute [rw] health_status
561
- # The health status of the instances that you want to discover.
586
+ # The health status of the instances that you want to discover. This
587
+ # parameter is ignored for services that don't have a health check
588
+ # configured, and all instances are returned.
589
+ #
590
+ # HEALTHY
591
+ #
592
+ # : Returns healthy instances.
593
+ #
594
+ # UNHEALTHY
595
+ #
596
+ # : Returns unhealthy instances.
597
+ #
598
+ # ALL
599
+ #
600
+ # : Returns all instances.
601
+ #
602
+ # HEALTHY\_OR\_ELSE\_ALL
603
+ #
604
+ # : Returns healthy instances, unless none are reporting a healthy
605
+ # state. In that case, return all instances. This is also called
606
+ # failing open.
562
607
  # @return [String]
563
608
  #
564
609
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DiscoverInstancesRequest AWS API Documentation
@@ -587,8 +632,8 @@ module Aws::ServiceDiscovery
587
632
  include Aws::Structure
588
633
  end
589
634
 
590
- # A complex type that contains information about the Amazon Route 53 DNS
591
- # records that you want AWS Cloud Map to create when you register an
635
+ # A complex type that contains information about the Amazon Route 53 DNS
636
+ # records that you want Cloud Map to create when you register an
592
637
  # instance.
593
638
  #
594
639
  # @note When making an API call, you may pass DnsConfig
@@ -610,8 +655,8 @@ module Aws::ServiceDiscovery
610
655
  # @return [String]
611
656
  #
612
657
  # @!attribute [rw] routing_policy
613
- # The routing policy that you want to apply to all Route 53 DNS
614
- # records that AWS Cloud Map creates when you register an instance and
658
+ # The routing policy that you want to apply to all Route 53 DNS
659
+ # records that Cloud Map creates when you register an instance and
615
660
  # specify this service.
616
661
  #
617
662
  # <note markdown="1"> If you want to use this service to register instances that create
@@ -621,46 +666,46 @@ module Aws::ServiceDiscovery
621
666
  #
622
667
  # You can specify the following values:
623
668
  #
624
- # **MULTIVALUE**
669
+ # MULTIVALUE
625
670
  #
626
- # If you define a health check for the service and the health check is
627
- # healthy, Route 53 returns the applicable value for up to eight
628
- # instances.
671
+ # : If you define a health check for the service and the health check
672
+ # is healthy, Route 53 returns the applicable value for up to eight
673
+ # instances.
629
674
  #
630
- # For example, suppose the service includes configurations for one `A`
631
- # record and a health check, and you use the service to register 10
632
- # instances. Route 53 responds to DNS queries with IP addresses for up
633
- # to eight healthy instances. If fewer than eight instances are
634
- # healthy, Route 53 responds to every DNS query with the IP addresses
635
- # for all of the healthy instances.
675
+ # For example, suppose that the service includes configurations for
676
+ # one `A` record and a health check. You use the service to register
677
+ # 10 instances. Route 53 responds to DNS queries with IP addresses
678
+ # for up to eight healthy instances. If fewer than eight instances
679
+ # are healthy, Route 53 responds to every DNS query with the IP
680
+ # addresses for all of the healthy instances.
636
681
  #
637
- # If you don't define a health check for the service, Route 53
638
- # assumes that all instances are healthy and returns the values for up
639
- # to eight instances.
682
+ # If you don't define a health check for the service, Route 53
683
+ # assumes that all instances are healthy and returns the values for
684
+ # up to eight instances.
640
685
  #
641
- # For more information about the multivalue routing policy, see
642
- # [Multivalue Answer Routing][1] in the *Route 53 Developer Guide*.
686
+ # For more information about the multivalue routing policy, see
687
+ # [Multivalue Answer Routing][1] in the *Route 53 Developer Guide*.
643
688
  #
644
- # **WEIGHTED**
689
+ # WEIGHTED
645
690
  #
646
- # Route 53 returns the applicable value from one randomly selected
647
- # instance from among the instances that you registered using the same
648
- # service. Currently, all records have the same weight, so you can't
649
- # route more or less traffic to any instances.
691
+ # : Route 53 returns the applicable value from one randomly selected
692
+ # instance from among the instances that you registered using the
693
+ # same service. Currently, all records have the same weight, so you
694
+ # can't route more or less traffic to any instances.
650
695
  #
651
- # For example, suppose the service includes configurations for one `A`
652
- # record and a health check, and you use the service to register 10
653
- # instances. Route 53 responds to DNS queries with the IP address for
654
- # one randomly selected instance from among the healthy instances. If
655
- # no instances are healthy, Route 53 responds to DNS queries as if all
656
- # of the instances were healthy.
696
+ # For example, suppose that the service includes configurations for
697
+ # one `A` record and a health check. You use the service to register
698
+ # 10 instances. Route 53 responds to DNS queries with the IP address
699
+ # for one randomly selected instance from among the healthy
700
+ # instances. If no instances are healthy, Route 53 responds to DNS
701
+ # queries as if all of the instances were healthy.
657
702
  #
658
- # If you don't define a health check for the service, Route 53
659
- # assumes that all instances are healthy and returns the applicable
660
- # value for one randomly selected instance.
703
+ # If you don't define a health check for the service, Route 53
704
+ # assumes that all instances are healthy and returns the applicable
705
+ # value for one randomly selected instance.
661
706
  #
662
- # For more information about the weighted routing policy, see
663
- # [Weighted Routing][2] in the *Route 53 Developer Guide*.
707
+ # For more information about the weighted routing policy, see
708
+ # [Weighted Routing][2] in the *Route 53 Developer Guide*.
664
709
  #
665
710
  #
666
711
  #
@@ -669,8 +714,8 @@ module Aws::ServiceDiscovery
669
714
  # @return [String]
670
715
  #
671
716
  # @!attribute [rw] dns_records
672
- # An array that contains one `DnsRecord` object for each Route 53 DNS
673
- # record that you want AWS Cloud Map to create when you register an
717
+ # An array that contains one `DnsRecord` object for each Route 53 DNS
718
+ # record that you want Cloud Map to create when you register an
674
719
  # instance.
675
720
  # @return [Array<Types::DnsRecord>]
676
721
  #
@@ -684,8 +729,8 @@ module Aws::ServiceDiscovery
684
729
  include Aws::Structure
685
730
  end
686
731
 
687
- # A complex type that contains information about changes to the Route 53
688
- # DNS records that AWS Cloud Map creates when you register an instance.
732
+ # A complex type that contains information about changes to the Route 53
733
+ # DNS records that Cloud Map creates when you register an instance.
689
734
  #
690
735
  # @note When making an API call, you may pass DnsConfigChange
691
736
  # data as a hash:
@@ -700,8 +745,8 @@ module Aws::ServiceDiscovery
700
745
  # }
701
746
  #
702
747
  # @!attribute [rw] dns_records
703
- # An array that contains one `DnsRecord` object for each Route 53
704
- # record that you want AWS Cloud Map to create when you register an
748
+ # An array that contains one `DnsRecord` object for each Route 53
749
+ # record that you want Cloud Map to create when you register an
705
750
  # instance.
706
751
  # @return [Array<Types::DnsRecord>]
707
752
  #
@@ -713,24 +758,29 @@ module Aws::ServiceDiscovery
713
758
  include Aws::Structure
714
759
  end
715
760
 
716
- # A complex type that contains the ID for the Route 53 hosted zone that
717
- # AWS Cloud Map creates when you create a namespace.
761
+ # A complex type that contains the ID for the Route 53 hosted zone that
762
+ # Cloud Map creates when you create a namespace.
718
763
  #
719
764
  # @!attribute [rw] hosted_zone_id
720
- # The ID for the Route 53 hosted zone that AWS Cloud Map creates when
721
- # you create a namespace.
765
+ # The ID for the Route 53 hosted zone that Cloud Map creates when you
766
+ # create a namespace.
722
767
  # @return [String]
723
768
  #
769
+ # @!attribute [rw] soa
770
+ # Start of Authority (SOA) record for the hosted zone.
771
+ # @return [Types::SOA]
772
+ #
724
773
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsProperties AWS API Documentation
725
774
  #
726
775
  class DnsProperties < Struct.new(
727
- :hosted_zone_id)
776
+ :hosted_zone_id,
777
+ :soa)
728
778
  SENSITIVE = []
729
779
  include Aws::Structure
730
780
  end
731
781
 
732
- # A complex type that contains information about the Route 53 DNS
733
- # records that you want AWS Cloud Map to create when you register an
782
+ # A complex type that contains information about the Route 53 DNS
783
+ # records that you want Cloud Map to create when you register an
734
784
  # instance.
735
785
  #
736
786
  # @note When making an API call, you may pass DnsRecord
@@ -743,20 +793,20 @@ module Aws::ServiceDiscovery
743
793
  #
744
794
  # @!attribute [rw] type
745
795
  # The type of the resource, which indicates the type of value that
746
- # Route 53 returns in response to DNS queries. You can specify values
796
+ # Route 53 returns in response to DNS queries. You can specify values
747
797
  # for `Type` in the following combinations:
748
798
  #
749
- # * `A`
799
+ # * <b> <code>A</code> </b>
750
800
  #
751
- # * `AAAA`
801
+ # * <b> <code>AAAA</code> </b>
752
802
  #
753
- # * `A` and `AAAA`
803
+ # * <b> <code>A</code> </b> and <b> <code>AAAA</code> </b>
754
804
  #
755
- # * `SRV`
805
+ # * <b> <code>SRV</code> </b>
756
806
  #
757
- # * `CNAME`
807
+ # * <b> <code>CNAME</code> </b>
758
808
  #
759
- # If you want AWS Cloud Map to create a Route 53 alias record when you
809
+ # If you want Cloud Map to create a Route 53 alias record when you
760
810
  # register an instance, specify `A` or `AAAA` for `Type`.
761
811
  #
762
812
  # You specify other settings, such as the IP address for `A` and
@@ -765,74 +815,93 @@ module Aws::ServiceDiscovery
765
815
  #
766
816
  # The following values are supported:
767
817
  #
768
- # `A` <b> <code> </b> </p> <p>Route 53 returns the IP address of the
769
- # resource in IPv4 format, such as 192.0.2.44.</p> <p>
770
- # <code>AAAA</code> <b> <code> </b> </p> <p>Route 53 returns the IP
771
- # address of the resource in IPv6 format, such as
772
- # 2001:0db8:85a3:0000:0000:abcd:0001:2345.</p> <p> <code>CNAME</code>
773
- # <b> <code> </b> </p> <p>Route 53 returns the domain name of the
774
- # resource, such as www.example.com. Note the following:</p> <ul> <li>
775
- # <p>You specify the domain name that you want to route traffic to
776
- # when you register an instance. For more information, see <a
777
- # href="https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html#cloudmap-RegisterInstance-request-Attributes">Attributes</a>
778
- # in the topic <a
779
- # href="https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html">RegisterInstance</a>.</p>
780
- # </li> <li> <p>You must specify <code>WEIGHTED</code> for the value
781
- # of <code>RoutingPolicy</code>.</p> </li> <li> <p>You can't specify
782
- # both <code>CNAME</code> for <code>Type</code> and settings for
783
- # <code>HealthCheckConfig</code>. If you do, the request will fail
784
- # with an <code>InvalidInput</code> error.</p> </li> </ul> <p>
785
- # <b>SRV</b> </p> <p>Route 53 returns the value for an
786
- # <code>SRV</code> record. The value for an <code>SRV</code> record
787
- # uses the following values:</p> <p> <code>priority weight port
788
- # service-hostname</code> </p> <p>Note the following about the
789
- # values:</p> <ul> <li> <p>The values of <code>priority</code> and
790
- # <code>weight</code> are both set to <code>1</code> and can't be
791
- # changed. </p> </li> <li> <p>The value of <code>port</code> comes
792
- # from the value that you specify for the
793
- # <code>AWS_INSTANCE_PORT</code> attribute when you submit a <a
794
- # href="https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html">RegisterInstance</a>
795
- # request. </p> </li> <li> <p>The value of
796
- # <code>service-hostname</code> is a concatenation of the following
797
- # values:</p> <ul> <li> <p>The value that you specify for
798
- # <code>InstanceId</code> when you register an instance.</p> </li>
799
- # <li> <p>The name of the service.</p> </li> <li> <p>The name of the
800
- # namespace. </p> </li> </ul> <p>For example, if the value of
801
- # <code>InstanceId</code> is <code>test</code>, the name of the
802
- # service is <code>backend</code>, and the name of the namespace is
803
- # <code>example.com</code>, the value of <code>service-hostname</code>
804
- # is:</p> <p> <code>test.backend.example.com</code> </p> </li> </ul>
805
- # <p>If you specify settings for an <code>SRV</code> record, note the
806
- # following:</p> <ul> <li> <p>If you specify values for
807
- # <code>AWS_INSTANCE_IPV4</code>, <code>AWS_INSTANCE_IPV6</code>, or
808
- # both in the <code>RegisterInstance</code> request, AWS Cloud Map
809
- # automatically creates <code>A</code> and/or <code>AAAA</code>
810
- # records that have the same name as the value of
811
- # <code>service-hostname</code> in the <code>SRV</code> record. You
812
- # can ignore these records.</p> </li> <li> <p>If you're using a system
813
- # that requires a specific <code>SRV</code> format, such as HAProxy,
814
- # see the <a
815
- # href="https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html#cloudmap-CreateService-request-Name">Name</a>
816
- # element in the documentation about <code>CreateService</code> for
817
- # information about how to specify the correct name format.</p> </li>
818
- # </ul>
819
- # </code></b></p></code></b></p></code></b>
818
+ # A
819
+ #
820
+ # : Route 53 returns the IP address of the resource in IPv4 format,
821
+ # such as 192.0.2.44.
822
+ #
823
+ # AAAA
824
+ #
825
+ # : Route 53 returns the IP address of the resource in IPv6 format,
826
+ # such as 2001:0db8:85a3:0000:0000:abcd:0001:2345.
827
+ #
828
+ # CNAME
829
+ #
830
+ # : Route 53 returns the domain name of the resource, such as
831
+ # www.example.com. Note the following:
832
+ #
833
+ # * You specify the domain name that you want to route traffic to
834
+ # when you register an instance. For more information, see
835
+ # [Attributes][2] in the topic [RegisterInstance][1].
836
+ #
837
+ # * You must specify `WEIGHTED` for the value of `RoutingPolicy`.
838
+ #
839
+ # * You can't specify both `CNAME` for `Type` and settings for
840
+ # `HealthCheckConfig`. If you do, the request will fail with an
841
+ # `InvalidInput` error.
842
+ #
843
+ # SRV
844
+ #
845
+ # : Route 53 returns the value for an `SRV` record. The value for an
846
+ # `SRV` record uses the following values:
847
+ #
848
+ # `priority weight port service-hostname`
849
+ #
850
+ # Note the following about the values:
851
+ #
852
+ # * The values of `priority` and `weight` are both set to `1` and
853
+ # can't be changed.
854
+ #
855
+ # * The value of `port` comes from the value that you specify for
856
+ # the `AWS_INSTANCE_PORT` attribute when you submit a
857
+ # [RegisterInstance][1] request.
858
+ #
859
+ # * The value of `service-hostname` is a concatenation of the
860
+ # following values:
861
+ #
862
+ # * The value that you specify for `InstanceId` when you register
863
+ # an instance.
864
+ #
865
+ # * The name of the service.
866
+ #
867
+ # * The name of the namespace.
868
+ #
869
+ # For example, if the value of `InstanceId` is `test`, the name of
870
+ # the service is `backend`, and the name of the namespace is
871
+ # `example.com`, the value of `service-hostname` is the following:
872
+ #
873
+ # `test.backend.example.com`
874
+ #
875
+ # If you specify settings for an `SRV` record, note the following:
876
+ #
877
+ # * If you specify values for `AWS_INSTANCE_IPV4`,
878
+ # `AWS_INSTANCE_IPV6`, or both in the `RegisterInstance` request,
879
+ # Cloud Map automatically creates `A` and/or `AAAA` records that
880
+ # have the same name as the value of `service-hostname` in the
881
+ # `SRV` record. You can ignore these records.
882
+ #
883
+ # * If you're using a system that requires a specific `SRV` format,
884
+ # such as HAProxy, see the [Name][3] element in the documentation
885
+ # about `CreateService` for information about how to specify the
886
+ # correct name format.
820
887
  #
821
888
  #
822
889
  #
823
890
  # [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html
891
+ # [2]: https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html#cloudmap-RegisterInstance-request-Attributes
892
+ # [3]: https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html#cloudmap-CreateService-request-Name
824
893
  # @return [String]
825
894
  #
826
895
  # @!attribute [rw] ttl
827
896
  # The amount of time, in seconds, that you want DNS resolvers to cache
828
897
  # the settings for this record.
829
898
  #
830
- # <note markdown="1"> Alias records don't include a TTL because Route 53 uses the TTL for
831
- # the AWS resource that an alias record routes traffic to. If you
832
- # include the `AWS_ALIAS_DNS_NAME` attribute when you submit a
833
- # [RegisterInstance][1] request, the `TTL` value is ignored. Always
834
- # specify a TTL for the service; you can use a service to register
835
- # instances that create either alias or non-alias records.
899
+ # <note markdown="1"> Alias records don't include a TTL because Route 53 uses the TTL for
900
+ # the Amazon Web Services resource that an alias record routes traffic
901
+ # to. If you include the `AWS_ALIAS_DNS_NAME` attribute when you
902
+ # submit a [RegisterInstance][1] request, the `TTL` value is ignored.
903
+ # Always specify a TTL for the service; you can use a service to
904
+ # register instances that create either alias or non-alias records.
836
905
  #
837
906
  # </note>
838
907
  #
@@ -856,7 +925,7 @@ module Aws::ServiceDiscovery
856
925
  # @return [String]
857
926
  #
858
927
  # @!attribute [rw] duplicate_operation_id
859
- # The ID of the operation that is already in progress.
928
+ # The ID of the operation that's already in progress.
860
929
  # @return [String]
861
930
  #
862
931
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DuplicateRequest AWS API Documentation
@@ -923,8 +992,8 @@ module Aws::ServiceDiscovery
923
992
  # An array that contains the IDs of all the instances that you want to
924
993
  # get the health status for.
925
994
  #
926
- # If you omit `Instances`, AWS Cloud Map returns the health status for
927
- # all the instances that are associated with the specified service.
995
+ # If you omit `Instances`, Cloud Map returns the health status for all
996
+ # the instances that are associated with the specified service.
928
997
  #
929
998
  # <note markdown="1"> To get the IDs for the instances that you've registered by using a
930
999
  # specified service, submit a [ListInstances][1] request.
@@ -937,10 +1006,10 @@ module Aws::ServiceDiscovery
937
1006
  # @return [Array<String>]
938
1007
  #
939
1008
  # @!attribute [rw] max_results
940
- # The maximum number of instances that you want AWS Cloud Map to
941
- # return in the response to a `GetInstancesHealthStatus` request. If
942
- # you don't specify a value for `MaxResults`, AWS Cloud Map returns
943
- # up to 100 instances.
1009
+ # The maximum number of instances that you want Cloud Map to return in
1010
+ # the response to a `GetInstancesHealthStatus` request. If you don't
1011
+ # specify a value for `MaxResults`, Cloud Map returns up to 100
1012
+ # instances.
944
1013
  # @return [Integer]
945
1014
  #
946
1015
  # @!attribute [rw] next_token
@@ -1081,66 +1150,68 @@ module Aws::ServiceDiscovery
1081
1150
 
1082
1151
  # *Public DNS and HTTP namespaces only.* A complex type that contains
1083
1152
  # settings for an optional health check. If you specify settings for a
1084
- # health check, AWS Cloud Map associates the health check with the
1085
- # records that you specify in `DnsConfig`.
1153
+ # health check, Cloud Map associates the health check with the records
1154
+ # that you specify in `DnsConfig`.
1086
1155
  #
1087
1156
  # If you specify a health check configuration, you can specify either
1088
1157
  # `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
1089
1158
  #
1090
- # Health checks are basic Route 53 health checks that monitor an AWS
1091
- # endpoint. For information about pricing for health checks, see [Amazon
1092
- # Route 53 Pricing][1].
1159
+ # Health checks are basic Route 53 health checks that monitor an Amazon
1160
+ # Web Services endpoint. For information about pricing for health
1161
+ # checks, see [Amazon Route 53 Pricing][1].
1093
1162
  #
1094
1163
  # Note the following about configuring health checks.
1095
1164
  #
1096
- # <b> <code>A</code> and <code>AAAA</code> records</b>
1165
+ # A and AAAA records
1097
1166
  #
1098
- # If `DnsConfig` includes configurations for both `A` and `AAAA`
1099
- # records, AWS Cloud Map creates a health check that uses the IPv4
1100
- # address to check the health of the resource. If the endpoint that is
1101
- # specified by the IPv4 address is unhealthy, Route 53 considers both
1102
- # the `A` and `AAAA` records to be unhealthy.
1167
+ # : If `DnsConfig` includes configurations for both `A` and `AAAA`
1168
+ # records, Cloud Map creates a health check that uses the IPv4 address
1169
+ # to check the health of the resource. If the endpoint tthat's
1170
+ # specified by the IPv4 address is unhealthy, Route 53 considers both
1171
+ # the `A` and `AAAA` records to be unhealthy.
1103
1172
  #
1104
- # <b> <code>CNAME</code> records</b>
1173
+ # CNAME records
1105
1174
  #
1106
- # You can't specify settings for `HealthCheckConfig` when the
1107
- # `DNSConfig` includes `CNAME` for the value of `Type`. If you do, the
1108
- # `CreateService` request will fail with an `InvalidInput` error.
1175
+ # : You can't specify settings for `HealthCheckConfig` when the
1176
+ # `DNSConfig` includes `CNAME` for the value of `Type`. If you do, the
1177
+ # `CreateService` request will fail with an `InvalidInput` error.
1109
1178
  #
1110
- # **Request interval**
1179
+ # Request interval
1111
1180
  #
1112
- # A Route 53 health checker in each health-checking region sends a
1113
- # health check request to an endpoint every 30 seconds. On average, your
1114
- # endpoint receives a health check request about every two seconds.
1115
- # However, health checkers don't coordinate with one another, so
1116
- # you'll sometimes see several requests per second followed by a few
1117
- # seconds with no health checks at all.
1181
+ # : A Route 53 health checker in each health-checking Amazon Web
1182
+ # Services Region sends a health check request to an endpoint every 30
1183
+ # seconds. On average, your endpoint receives a health check request
1184
+ # about every two seconds. However, health checkers don't coordinate
1185
+ # with one another. Therefore, you might sometimes see several
1186
+ # requests in one second that's followed by a few seconds with no
1187
+ # health checks at all.
1118
1188
  #
1119
- # **Health checking regions**
1189
+ # Health checking regions
1120
1190
  #
1121
- # Health checkers perform checks from all Route 53 health-checking
1122
- # regions. For a list of the current regions, see [Regions][2].
1191
+ # : Health checkers perform checks from all Route 53 health-checking
1192
+ # Regions. For a list of the current Regions, see [Regions][2].
1123
1193
  #
1124
- # **Alias records**
1194
+ # Alias records
1125
1195
  #
1126
- # When you register an instance, if you include the `AWS_ALIAS_DNS_NAME`
1127
- # attribute, AWS Cloud Map creates a Route 53 alias record. Note the
1128
- # following:
1196
+ # : When you register an instance, if you include the
1197
+ # `AWS_ALIAS_DNS_NAME` attribute, Cloud Map creates a Route 53 alias
1198
+ # record. Note the following:
1129
1199
  #
1130
- # * Route 53 automatically sets `EvaluateTargetHealth` to true for alias
1131
- # records. When `EvaluateTargetHealth` is true, the alias record
1132
- # inherits the health of the referenced AWS resource. such as an ELB
1133
- # load balancer. For more information, see [EvaluateTargetHealth][3].
1200
+ # * Route 53 automatically sets `EvaluateTargetHealth` to true for
1201
+ # alias records. When `EvaluateTargetHealth` is true, the alias
1202
+ # record inherits the health of the referenced Amazon Web Services
1203
+ # resource. such as an ELB load balancer. For more information, see
1204
+ # [EvaluateTargetHealth][3].
1134
1205
  #
1135
- # * If you include `HealthCheckConfig` and then use the service to
1136
- # register an instance that creates an alias record, Route 53 doesn't
1137
- # create the health check.
1206
+ # * If you include `HealthCheckConfig` and then use the service to
1207
+ # register an instance that creates an alias record, Route 53
1208
+ # doesn't create the health check.
1138
1209
  #
1139
- # **Charges for health checks**
1210
+ # Charges for health checks
1140
1211
  #
1141
- # Health checks are basic Route 53 health checks that monitor an AWS
1142
- # endpoint. For information about pricing for health checks, see [Amazon
1143
- # Route 53 Pricing][1].
1212
+ # : Health checks are basic Route 53 health checks that monitor an
1213
+ # Amazon Web Services endpoint. For information about pricing for
1214
+ # health checks, see [Amazon Route 53 Pricing][1].
1144
1215
  #
1145
1216
  #
1146
1217
  #
@@ -1159,31 +1230,31 @@ module Aws::ServiceDiscovery
1159
1230
  #
1160
1231
  # @!attribute [rw] type
1161
1232
  # The type of health check that you want to create, which indicates
1162
- # how Route 53 determines whether an endpoint is healthy.
1233
+ # how Route 53 determines whether an endpoint is healthy.
1163
1234
  #
1164
1235
  # You can't change the value of `Type` after you create a health
1165
1236
  # check.
1166
1237
  #
1167
1238
  # You can create the following types of health checks:
1168
1239
  #
1169
- # * **HTTP**\: Route 53 tries to establish a TCP connection. If
1170
- # successful, Route 53 submits an HTTP request and waits for an HTTP
1240
+ # * **HTTP**\: Route 53 tries to establish a TCP connection. If
1241
+ # successful, Route 53 submits an HTTP request and waits for an HTTP
1171
1242
  # status code of 200 or greater and less than 400.
1172
1243
  #
1173
- # * **HTTPS**\: Route 53 tries to establish a TCP connection. If
1174
- # successful, Route 53 submits an HTTPS request and waits for an
1244
+ # * **HTTPS**\: Route 53 tries to establish a TCP connection. If
1245
+ # successful, Route 53 submits an HTTPS request and waits for an
1175
1246
  # HTTP status code of 200 or greater and less than 400.
1176
1247
  #
1177
1248
  # If you specify HTTPS for the value of `Type`, the endpoint must
1178
1249
  # support TLS v1.0 or later.
1179
1250
  #
1180
- # * **TCP**\: Route 53 tries to establish a TCP connection.
1251
+ # * **TCP**\: Route 53 tries to establish a TCP connection.
1181
1252
  #
1182
1253
  # If you specify `TCP` for `Type`, don't specify a value for
1183
1254
  # `ResourcePath`.
1184
1255
  #
1185
- # For more information, see [How Route 53 Determines Whether an
1186
- # Endpoint Is Healthy][1] in the *Route 53 Developer Guide*.
1256
+ # For more information, see [How Route 53 Determines Whether an
1257
+ # Endpoint Is Healthy][1] in the *Route 53 Developer Guide*.
1187
1258
  #
1188
1259
  #
1189
1260
  #
@@ -1191,12 +1262,12 @@ module Aws::ServiceDiscovery
1191
1262
  # @return [String]
1192
1263
  #
1193
1264
  # @!attribute [rw] resource_path
1194
- # The path that you want Route 53 to request when performing health
1195
- # checks. The path can be any value for which your endpoint will
1196
- # return an HTTP status code of 2xx or 3xx when the endpoint is
1197
- # healthy, such as the file `/docs/route53-health-check.html`.
1198
- # Route 53 automatically adds the DNS name for the service. If you
1199
- # don't specify a value for `ResourcePath`, the default value is `/`.
1265
+ # The path that you want Route 53 to request when performing health
1266
+ # checks. The path can be any value that your endpoint returns an HTTP
1267
+ # status code of a 2xx or 3xx format for when the endpoint is healthy.
1268
+ # An example file is `/docs/route53-health-check.html`. Route 53
1269
+ # automatically adds the DNS name for the service. If you don't
1270
+ # specify a value for `ResourcePath`, the default value is `/`.
1200
1271
  #
1201
1272
  # If you specify `TCP` for `Type`, you must *not* specify a value for
1202
1273
  # `ResourcePath`.
@@ -1204,10 +1275,10 @@ module Aws::ServiceDiscovery
1204
1275
  #
1205
1276
  # @!attribute [rw] failure_threshold
1206
1277
  # The number of consecutive health checks that an endpoint must pass
1207
- # or fail for Route 53 to change the current status of the endpoint
1208
- # from unhealthy to healthy or vice versa. For more information, see
1209
- # [How Route 53 Determines Whether an Endpoint Is Healthy][1] in the
1210
- # *Route 53 Developer Guide*.
1278
+ # or fail for Route 53 to change the current status of the endpoint
1279
+ # from unhealthy to healthy or the other way around. For more
1280
+ # information, see [How Route 53 Determines Whether an Endpoint Is
1281
+ # Healthy][1] in the *Route 53 Developer Guide*.
1211
1282
  #
1212
1283
  #
1213
1284
  #
@@ -1229,40 +1300,34 @@ module Aws::ServiceDiscovery
1229
1300
  # third-party health checker to evaluate the health of your resources,
1230
1301
  # is useful in the following circumstances:
1231
1302
  #
1232
- # * You can't use a health check that is defined by `HealthCheckConfig`
1303
+ # * You can't use a health check that's defined by `HealthCheckConfig`
1233
1304
  # because the resource isn't available over the internet. For
1234
1305
  # example, you can use a custom health check when the instance is in
1235
1306
  # an Amazon VPC. (To check the health of resources in a VPC, the
1236
1307
  # health checker must also be in the VPC.)
1237
1308
  #
1238
1309
  # * You want to use a third-party health checker regardless of where
1239
- # your resources are.
1310
+ # your resources are located.
1240
1311
  #
1241
1312
  # If you specify a health check configuration, you can specify either
1242
1313
  # `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
1243
1314
  #
1244
1315
  # To change the status of a custom health check, submit an
1245
- # `UpdateInstanceCustomHealthStatus` request. AWS Cloud Map doesn't
1246
- # monitor the status of the resource, it just keeps a record of the
1247
- # status specified in the most recent `UpdateInstanceCustomHealthStatus`
1316
+ # `UpdateInstanceCustomHealthStatus` request. Cloud Map doesn't monitor
1317
+ # the status of the resource, it just keeps a record of the status
1318
+ # specified in the most recent `UpdateInstanceCustomHealthStatus`
1248
1319
  # request.
1249
1320
  #
1250
1321
  # Here's how custom health checks work:
1251
1322
  #
1252
- # 1. You create a service and specify a value for `FailureThreshold`.
1253
- #
1254
- # The failure threshold indicates the number of 30-second intervals
1255
- # you want AWS Cloud Map to wait between the time that your
1256
- # application sends an [UpdateInstanceCustomHealthStatus][1] request
1257
- # and the time that AWS Cloud Map stops routing internet traffic to
1258
- # the corresponding resource.
1323
+ # 1. You create a service.
1259
1324
  #
1260
1325
  # 2. You register an instance.
1261
1326
  #
1262
1327
  # 3. You configure a third-party health checker to monitor the resource
1263
- # that is associated with the new instance.
1328
+ # that's associated with the new instance.
1264
1329
  #
1265
- # <note markdown="1"> AWS Cloud Map doesn't check the health of the resource directly.
1330
+ # <note markdown="1"> Cloud Map doesn't check the health of the resource directly.
1266
1331
  #
1267
1332
  # </note>
1268
1333
  #
@@ -1272,16 +1337,12 @@ module Aws::ServiceDiscovery
1272
1337
  # 5. Your application submits an `UpdateInstanceCustomHealthStatus`
1273
1338
  # request.
1274
1339
  #
1275
- # 6. AWS Cloud Map waits for (`FailureThreshold` x 30) seconds.
1340
+ # 6. Cloud Map waits for 30 seconds.
1276
1341
  #
1277
1342
  # 7. If another `UpdateInstanceCustomHealthStatus` request doesn't
1278
- # arrive during that time to change the status back to healthy, AWS
1343
+ # arrive during that time to change the status back to healthy,
1279
1344
  # Cloud Map stops routing traffic to the resource.
1280
1345
  #
1281
- #
1282
- #
1283
- # [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_UpdateInstanceCustomHealthStatus.html
1284
- #
1285
1346
  # @note When making an API call, you may pass HealthCheckCustomConfig
1286
1347
  # data as a hash:
1287
1348
  #
@@ -1290,19 +1351,19 @@ module Aws::ServiceDiscovery
1290
1351
  # }
1291
1352
  #
1292
1353
  # @!attribute [rw] failure_threshold
1293
- # This parameter has been deprecated and is always set to 1. AWS Cloud
1354
+ # This parameter is no longer supported and is always set to 1. Cloud
1294
1355
  # Map waits for approximately 30 seconds after receiving an
1295
1356
  # `UpdateInstanceCustomHealthStatus` request before changing the
1296
1357
  # status of the service instance.
1297
1358
  #
1298
- # The number of 30-second intervals that you want AWS Cloud Map to
1299
- # wait after receiving an `UpdateInstanceCustomHealthStatus` request
1300
- # before it changes the health status of a service instance.
1359
+ # The number of 30-second intervals that you want Cloud Map to wait
1360
+ # after receiving an `UpdateInstanceCustomHealthStatus` request before
1361
+ # it changes the health status of a service instance.
1301
1362
  #
1302
1363
  # Sending a second or subsequent `UpdateInstanceCustomHealthStatus`
1303
1364
  # request with the same value before 30 seconds has passed doesn't
1304
- # accelerate the change. AWS Cloud Map still waits `30` seconds after
1305
- # the first request to make the change.
1365
+ # accelerate the change. Cloud Map still waits `30` seconds after the
1366
+ # first request to make the change.
1306
1367
  # @return [Integer]
1307
1368
  #
1308
1369
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/HealthCheckCustomConfig AWS API Documentation
@@ -1327,8 +1388,9 @@ module Aws::ServiceDiscovery
1327
1388
  # @return [String]
1328
1389
  #
1329
1390
  # @!attribute [rw] namespace_name
1330
- # The name of the namespace that you specified when you registered the
1331
- # instance.
1391
+ # ` </p> The HttpName name of the namespace. It's found in the
1392
+ # HttpProperties member of the Properties member of the namespace.
1393
+ # `
1332
1394
  # @return [String]
1333
1395
  #
1334
1396
  # @!attribute [rw] service_name
@@ -1358,6 +1420,27 @@ module Aws::ServiceDiscovery
1358
1420
  include Aws::Structure
1359
1421
  end
1360
1422
 
1423
+ # Updated properties for the HTTP namespace.
1424
+ #
1425
+ # @note When making an API call, you may pass HttpNamespaceChange
1426
+ # data as a hash:
1427
+ #
1428
+ # {
1429
+ # description: "ResourceDescription", # required
1430
+ # }
1431
+ #
1432
+ # @!attribute [rw] description
1433
+ # An updated description for the HTTP namespace.
1434
+ # @return [String]
1435
+ #
1436
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/HttpNamespaceChange AWS API Documentation
1437
+ #
1438
+ class HttpNamespaceChange < Struct.new(
1439
+ :description)
1440
+ SENSITIVE = []
1441
+ include Aws::Structure
1442
+ end
1443
+
1361
1444
  # A complex type that contains the name of an HTTP namespace.
1362
1445
  #
1363
1446
  # @!attribute [rw] http_name
@@ -1372,28 +1455,28 @@ module Aws::ServiceDiscovery
1372
1455
  include Aws::Structure
1373
1456
  end
1374
1457
 
1375
- # A complex type that contains information about an instance that AWS
1376
- # Cloud Map creates when you submit a `RegisterInstance` request.
1458
+ # A complex type that contains information about an instance that Cloud
1459
+ # Map creates when you submit a `RegisterInstance` request.
1377
1460
  #
1378
1461
  # @!attribute [rw] id
1379
1462
  # An identifier that you want to associate with the instance. Note the
1380
1463
  # following:
1381
1464
  #
1382
- # * If the service that is specified by `ServiceId` includes settings
1465
+ # * If the service that's specified by `ServiceId` includes settings
1383
1466
  # for an `SRV` record, the value of `InstanceId` is automatically
1384
1467
  # included as part of the value for the `SRV` record. For more
1385
1468
  # information, see [DnsRecord &gt; Type][1].
1386
1469
  #
1387
1470
  # * You can use this value to update an existing instance.
1388
1471
  #
1389
- # * To register a new instance, you must specify a value that is
1472
+ # * To register a new instance, you must specify a value that's
1390
1473
  # unique among instances that you register by using the same
1391
1474
  # service.
1392
1475
  #
1393
- # * If you specify an existing `InstanceId` and `ServiceId`, AWS Cloud
1394
- # Map updates the existing DNS records. If there's also an existing
1395
- # health check, AWS Cloud Map deletes the old health check and
1396
- # creates a new one.
1476
+ # * If you specify an existing `InstanceId` and `ServiceId`, Cloud Map
1477
+ # updates the existing DNS records. If there's also an existing
1478
+ # health check, Cloud Map deletes the old health check and creates a
1479
+ # new one.
1397
1480
  #
1398
1481
  # <note markdown="1"> The health check isn't deleted immediately, so it will still
1399
1482
  # appear for a while if you submit a `ListHealthChecks` request, for
@@ -1412,8 +1495,8 @@ module Aws::ServiceDiscovery
1412
1495
  # executing the operation twice. You must use a unique
1413
1496
  # `CreatorRequestId` string every time you submit a `RegisterInstance`
1414
1497
  # request if you're registering additional instances for the same
1415
- # namespace and service. `CreatorRequestId` can be any unique string,
1416
- # for example, a date/time stamp.
1498
+ # namespace and service. `CreatorRequestId` can be any unique string
1499
+ # (for example, a date/time stamp).
1417
1500
  # @return [String]
1418
1501
  #
1419
1502
  # @!attribute [rw] attributes
@@ -1427,87 +1510,94 @@ module Aws::ServiceDiscovery
1427
1510
  #
1428
1511
  # Supported attribute keys include the following:
1429
1512
  #
1430
- # **AWS\_ALIAS\_DNS\_NAME**
1513
+ # AWS\_ALIAS\_DNS\_NAME
1431
1514
  #
1432
- # ****
1515
+ # : If you want Cloud Map to create a Route 53 alias record that
1516
+ # routes traffic to an Elastic Load Balancing load balancer, specify
1517
+ # the DNS name that's associated with the load balancer. For
1518
+ # information about how to get the DNS name, see
1519
+ # [AliasTarget-&gt;DNSName][1] in the *Route 53 API Reference*.
1433
1520
  #
1434
- # If you want AWS Cloud Map to create a Route 53 alias record that
1435
- # routes traffic to an Elastic Load Balancing load balancer, specify
1436
- # the DNS name that is associated with the load balancer. For
1437
- # information about how to get the DNS name, see "DNSName" in the
1438
- # topic [AliasTarget][1].
1521
+ # Note the following:
1439
1522
  #
1440
- # Note the following:
1523
+ # * The configuration for the service that's specified by
1524
+ # `ServiceId` must include settings for an `A` record, an `AAAA`
1525
+ # record, or both.
1441
1526
  #
1442
- # * The configuration for the service that is specified by `ServiceId`
1443
- # must include settings for an `A` record, an `AAAA` record, or
1444
- # both.
1527
+ # * In the service that's specified by `ServiceId`, the value of
1528
+ # `RoutingPolicy` must be `WEIGHTED`.
1445
1529
  #
1446
- # * In the service that is specified by `ServiceId`, the value of
1447
- # `RoutingPolicy` must be `WEIGHTED`.
1530
+ # * If the service that's specified by `ServiceId` includes
1531
+ # `HealthCheckConfig` settings, Cloud Map creates the health
1532
+ # check, but it won't associate the health check with the alias
1533
+ # record.
1448
1534
  #
1449
- # * If the service that is specified by `ServiceId` includes
1450
- # `HealthCheckConfig` settings, AWS Cloud Map will create the health
1451
- # check, but it won't associate the health check with the alias
1452
- # record.
1535
+ # * Auto naming currently doesn't support creating alias records
1536
+ # that route traffic to Amazon Web Services resources other than
1537
+ # ELB load balancers.
1453
1538
  #
1454
- # * Auto naming currently doesn't support creating alias records that
1455
- # route traffic to AWS resources other than ELB load balancers.
1539
+ # * If you specify a value for `AWS_ALIAS_DNS_NAME`, don't specify
1540
+ # values for any of the `AWS_INSTANCE` attributes.
1456
1541
  #
1457
- # * If you specify a value for `AWS_ALIAS_DNS_NAME`, don't specify
1458
- # values for any of the `AWS_INSTANCE` attributes.
1542
+ # AWS\_EC2\_INSTANCE\_ID
1459
1543
  #
1460
- # **AWS\_EC2\_INSTANCE\_ID**
1544
+ # : *HTTP namespaces only.* The Amazon EC2 instance ID for the
1545
+ # instance. The `AWS_INSTANCE_IPV4` attribute contains the primary
1546
+ # private IPv4 address.
1461
1547
  #
1462
- # *HTTP namespaces only.* The Amazon EC2 instance ID for the instance.
1463
- # The `AWS_INSTANCE_IPV4` attribute contains the primary private IPv4
1464
- # address.
1548
+ # AWS\_INIT\_HEALTH\_STATUS
1465
1549
  #
1466
- # **AWS\_INSTANCE\_CNAME**
1550
+ # : If the service configuration includes `HealthCheckCustomConfig`,
1551
+ # you can optionally use `AWS_INIT_HEALTH_STATUS` to specify the
1552
+ # initial status of the custom health check, `HEALTHY` or
1553
+ # `UNHEALTHY`. If you don't specify a value for
1554
+ # `AWS_INIT_HEALTH_STATUS`, the initial status is `HEALTHY`.
1467
1555
  #
1468
- # If the service configuration includes a `CNAME` record, the domain
1469
- # name that you want Route 53 to return in response to DNS queries,
1470
- # for example, `example.com`.
1556
+ # AWS\_INSTANCE\_CNAME
1471
1557
  #
1472
- # This value is required if the service specified by `ServiceId`
1473
- # includes settings for an `CNAME` record.
1558
+ # : If the service configuration includes a `CNAME` record, the domain
1559
+ # name that you want Route 53 to return in response to DNS queries
1560
+ # (for example, `example.com`).
1474
1561
  #
1475
- # **AWS\_INSTANCE\_IPV4**
1562
+ # This value is required if the service specified by `ServiceId`
1563
+ # includes settings for an `CNAME` record.
1476
1564
  #
1477
- # If the service configuration includes an `A` record, the IPv4
1478
- # address that you want Route 53 to return in response to DNS queries,
1479
- # for example, `192.0.2.44`.
1565
+ # AWS\_INSTANCE\_IPV4
1480
1566
  #
1481
- # This value is required if the service specified by `ServiceId`
1482
- # includes settings for an `A` record. If the service includes
1483
- # settings for an `SRV` record, you must specify a value for
1484
- # `AWS_INSTANCE_IPV4`, `AWS_INSTANCE_IPV6`, or both.
1567
+ # : If the service configuration includes an `A` record, the IPv4
1568
+ # address that you want Route 53 to return in response to DNS
1569
+ # queries (for example, `192.0.2.44`).
1485
1570
  #
1486
- # **AWS\_INSTANCE\_IPV6**
1571
+ # This value is required if the service specified by `ServiceId`
1572
+ # includes settings for an `A` record. If the service includes
1573
+ # settings for an `SRV` record, you must specify a value for
1574
+ # `AWS_INSTANCE_IPV4`, `AWS_INSTANCE_IPV6`, or both.
1487
1575
  #
1488
- # If the service configuration includes an `AAAA` record, the IPv6
1489
- # address that you want Route 53 to return in response to DNS queries,
1490
- # for example, `2001:0db8:85a3:0000:0000:abcd:0001:2345`.
1576
+ # AWS\_INSTANCE\_IPV6
1491
1577
  #
1492
- # This value is required if the service specified by `ServiceId`
1493
- # includes settings for an `AAAA` record. If the service includes
1494
- # settings for an `SRV` record, you must specify a value for
1495
- # `AWS_INSTANCE_IPV4`, `AWS_INSTANCE_IPV6`, or both.
1578
+ # : If the service configuration includes an `AAAA` record, the IPv6
1579
+ # address that you want Route 53 to return in response to DNS
1580
+ # queries (for example, `2001:0db8:85a3:0000:0000:abcd:0001:2345`).
1496
1581
  #
1497
- # **AWS\_INSTANCE\_PORT**
1582
+ # This value is required if the service specified by `ServiceId`
1583
+ # includes settings for an `AAAA` record. If the service includes
1584
+ # settings for an `SRV` record, you must specify a value for
1585
+ # `AWS_INSTANCE_IPV4`, `AWS_INSTANCE_IPV6`, or both.
1498
1586
  #
1499
- # If the service includes an `SRV` record, the value that you want
1500
- # Route 53 to return for the port.
1587
+ # AWS\_INSTANCE\_PORT
1501
1588
  #
1502
- # If the service includes `HealthCheckConfig`, the port on the
1503
- # endpoint that you want Route 53 to send requests to.
1589
+ # : If the service includes an `SRV` record, the value that you want
1590
+ # Route 53 to return for the port.
1504
1591
  #
1505
- # This value is required if you specified settings for an `SRV` record
1506
- # or a Route 53 health check when you created the service.
1592
+ # If the service includes `HealthCheckConfig`, the port on the
1593
+ # endpoint that you want Route 53 to send requests to.
1507
1594
  #
1595
+ # This value is required if you specified settings for an `SRV`
1596
+ # record or a Route 53 health check when you created the service.
1508
1597
  #
1509
1598
  #
1510
- # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html
1599
+ #
1600
+ # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-DNSName
1511
1601
  # @return [Hash<String,String>]
1512
1602
  #
1513
1603
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/Instance AWS API Documentation
@@ -1545,37 +1635,54 @@ module Aws::ServiceDiscovery
1545
1635
  # @!attribute [rw] attributes
1546
1636
  # A string map that contains the following information:
1547
1637
  #
1548
- # * The attributes that are associate with the instance.
1638
+ # * The attributes that are associated with the instance.
1549
1639
  #
1550
1640
  # * For each attribute, the applicable value.
1551
1641
  #
1552
1642
  # Supported attribute keys include the following:
1553
1643
  #
1554
- # * `AWS_ALIAS_DNS_NAME`\: For an alias record that routes traffic to
1555
- # an Elastic Load Balancing load balancer, the DNS name that is
1556
- # associated with the load balancer.
1644
+ # AWS\_ALIAS\_DNS\_NAME
1645
+ #
1646
+ # : For an alias record that routes traffic to an Elastic Load
1647
+ # Balancing load balancer, the DNS name that's associated with the
1648
+ # load balancer.
1649
+ #
1650
+ # AWS\_EC2\_INSTANCE\_ID (HTTP namespaces only)
1651
+ #
1652
+ # : The Amazon EC2 instance ID for the instance. When the
1653
+ # `AWS_EC2_INSTANCE_ID` attribute is specified, then the
1654
+ # `AWS_INSTANCE_IPV4` attribute contains the primary private IPv4
1655
+ # address.
1656
+ #
1657
+ # AWS\_INIT\_HEALTH\_STATUS
1658
+ #
1659
+ # : If the service configuration includes `HealthCheckCustomConfig`,
1660
+ # you can optionally use `AWS_INIT_HEALTH_STATUS` to specify the
1661
+ # initial status of the custom health check, `HEALTHY` or
1662
+ # `UNHEALTHY`. If you don't specify a value for
1663
+ # `AWS_INIT_HEALTH_STATUS`, the initial status is `HEALTHY`.
1557
1664
  #
1558
- # * `AWS_EC2_INSTANCE_ID`\: (HTTP namespaces only) The Amazon EC2
1559
- # instance ID for the instance. When the `AWS_EC2_INSTANCE_ID`
1560
- # attribute is specified, then the `AWS_INSTANCE_IPV4` attribute
1561
- # contains the primary private IPv4 address.
1665
+ # AWS\_INSTANCE\_CNAME
1562
1666
  #
1563
- # * `AWS_INSTANCE_CNAME`\: For a `CNAME` record, the domain name that
1564
- # Route 53 returns in response to DNS queries, for example,
1565
- # `example.com`.
1667
+ # : For a `CNAME` record, the domain name that Route 53 returns in
1668
+ # response to DNS queries (for example, `example.com`).
1566
1669
  #
1567
- # * `AWS_INSTANCE_IPV4`\: For an `A` record, the IPv4 address that
1568
- # Route 53 returns in response to DNS queries, for example,
1569
- # `192.0.2.44`.
1670
+ # AWS\_INSTANCE\_IPV4
1570
1671
  #
1571
- # * `AWS_INSTANCE_IPV6`\: For an `AAAA` record, the IPv6 address that
1572
- # Route 53 returns in response to DNS queries, for example,
1573
- # `2001:0db8:85a3:0000:0000:abcd:0001:2345`.
1672
+ # : For an `A` record, the IPv4 address that Route 53 returns in
1673
+ # response to DNS queries (for example, `192.0.2.44`).
1574
1674
  #
1575
- # * `AWS_INSTANCE_PORT`\: For an `SRV` record, the value that Route 53
1576
- # returns for the port. In addition, if the service includes
1577
- # `HealthCheckConfig`, the port on the endpoint that Route 53 sends
1578
- # requests to.
1675
+ # AWS\_INSTANCE\_IPV6
1676
+ #
1677
+ # : For an `AAAA` record, the IPv6 address that Route 53 returns in
1678
+ # response to DNS queries (for example,
1679
+ # `2001:0db8:85a3:0000:0000:abcd:0001:2345`).
1680
+ #
1681
+ # AWS\_INSTANCE\_PORT
1682
+ #
1683
+ # : For an `SRV` record, the value that Route 53 returns for the port.
1684
+ # In addition, if the service includes `HealthCheckConfig`, the port
1685
+ # on the endpoint that Route 53 sends requests to.
1579
1686
  # @return [Hash<String,String>]
1580
1687
  #
1581
1688
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/InstanceSummary AWS API Documentation
@@ -1625,10 +1732,9 @@ module Aws::ServiceDiscovery
1625
1732
  # @return [String]
1626
1733
  #
1627
1734
  # @!attribute [rw] max_results
1628
- # The maximum number of instances that you want AWS Cloud Map to
1629
- # return in the response to a `ListInstances` request. If you don't
1630
- # specify a value for `MaxResults`, AWS Cloud Map returns up to 100
1631
- # instances.
1735
+ # The maximum number of instances that you want Cloud Map to return in
1736
+ # the response to a `ListInstances` request. If you don't specify a
1737
+ # value for `MaxResults`, Cloud Map returns up to 100 instances.
1632
1738
  # @return [Integer]
1633
1739
  #
1634
1740
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListInstancesRequest AWS API Documentation
@@ -1685,20 +1791,19 @@ module Aws::ServiceDiscovery
1685
1791
  # the value of `NextToken` from the previous response in the next
1686
1792
  # request.
1687
1793
  #
1688
- # <note markdown="1"> AWS Cloud Map gets `MaxResults` namespaces and then filters them
1689
- # based on the specified criteria. It's possible that no namespaces
1690
- # in the first `MaxResults` namespaces matched the specified criteria
1691
- # but that subsequent groups of `MaxResults` namespaces do contain
1794
+ # <note markdown="1"> Cloud Map gets `MaxResults` namespaces and then filters them based
1795
+ # on the specified criteria. It's possible that no namespaces in the
1796
+ # first `MaxResults` namespaces matched the specified criteria but
1797
+ # that subsequent groups of `MaxResults` namespaces do contain
1692
1798
  # namespaces that match the criteria.
1693
1799
  #
1694
1800
  # </note>
1695
1801
  # @return [String]
1696
1802
  #
1697
1803
  # @!attribute [rw] max_results
1698
- # The maximum number of namespaces that you want AWS Cloud Map to
1699
- # return in the response to a `ListNamespaces` request. If you don't
1700
- # specify a value for `MaxResults`, AWS Cloud Map returns up to 100
1701
- # namespaces.
1804
+ # The maximum number of namespaces that you want Cloud Map to return
1805
+ # in the response to a `ListNamespaces` request. If you don't specify
1806
+ # a value for `MaxResults`, Cloud Map returns up to 100 namespaces.
1702
1807
  # @return [Integer]
1703
1808
  #
1704
1809
  # @!attribute [rw] filters
@@ -1730,10 +1835,10 @@ module Aws::ServiceDiscovery
1730
1835
  # the value of `NextToken` from the previous response in the next
1731
1836
  # request.
1732
1837
  #
1733
- # <note markdown="1"> AWS Cloud Map gets `MaxResults` namespaces and then filters them
1734
- # based on the specified criteria. It's possible that no namespaces
1735
- # in the first `MaxResults` namespaces matched the specified criteria
1736
- # but that subsequent groups of `MaxResults` namespaces do contain
1838
+ # <note markdown="1"> Cloud Map gets `MaxResults` namespaces and then filters them based
1839
+ # on the specified criteria. It's possible that no namespaces in the
1840
+ # first `MaxResults` namespaces matched the specified criteria but
1841
+ # that subsequent groups of `MaxResults` namespaces do contain
1737
1842
  # namespaces that match the criteria.
1738
1843
  #
1739
1844
  # </note>
@@ -1771,19 +1876,19 @@ module Aws::ServiceDiscovery
1771
1876
  # the value of `NextToken` from the previous response in the next
1772
1877
  # request.
1773
1878
  #
1774
- # <note markdown="1"> AWS Cloud Map gets `MaxResults` operations and then filters them
1775
- # based on the specified criteria. It's possible that no operations
1776
- # in the first `MaxResults` operations matched the specified criteria
1777
- # but that subsequent groups of `MaxResults` operations do contain
1879
+ # <note markdown="1"> Cloud Map gets `MaxResults` operations and then filters them based
1880
+ # on the specified criteria. It's possible that no operations in the
1881
+ # first `MaxResults` operations matched the specified criteria but
1882
+ # that subsequent groups of `MaxResults` operations do contain
1778
1883
  # operations that match the criteria.
1779
1884
  #
1780
1885
  # </note>
1781
1886
  # @return [String]
1782
1887
  #
1783
1888
  # @!attribute [rw] max_results
1784
- # The maximum number of items that you want AWS Cloud Map to return in
1785
- # the response to a `ListOperations` request. If you don't specify a
1786
- # value for `MaxResults`, AWS Cloud Map returns up to 100 operations.
1889
+ # The maximum number of items that you want Cloud Map to return in the
1890
+ # response to a `ListOperations` request. If you don't specify a
1891
+ # value for `MaxResults`, Cloud Map returns up to 100 operations.
1787
1892
  # @return [Integer]
1788
1893
  #
1789
1894
  # @!attribute [rw] filters
@@ -1816,10 +1921,10 @@ module Aws::ServiceDiscovery
1816
1921
  # the value of `NextToken` from the previous response in the next
1817
1922
  # request.
1818
1923
  #
1819
- # <note markdown="1"> AWS Cloud Map gets `MaxResults` operations and then filters them
1820
- # based on the specified criteria. It's possible that no operations
1821
- # in the first `MaxResults` operations matched the specified criteria
1822
- # but that subsequent groups of `MaxResults` operations do contain
1924
+ # <note markdown="1"> Cloud Map gets `MaxResults` operations and then filters them based
1925
+ # on the specified criteria. It's possible that no operations in the
1926
+ # first `MaxResults` operations matched the specified criteria but
1927
+ # that subsequent groups of `MaxResults` operations do contain
1823
1928
  # operations that match the criteria.
1824
1929
  #
1825
1930
  # </note>
@@ -1856,9 +1961,9 @@ module Aws::ServiceDiscovery
1856
1961
  # request to get the next group of results. Specify the value of
1857
1962
  # `NextToken` from the previous response in the next request.
1858
1963
  #
1859
- # <note markdown="1"> AWS Cloud Map gets `MaxResults` services and then filters them based
1860
- # on the specified criteria. It's possible that no services in the
1861
- # first `MaxResults` services matched the specified criteria but that
1964
+ # <note markdown="1"> Cloud Map gets `MaxResults` services and then filters them based on
1965
+ # the specified criteria. It's possible that no services in the first
1966
+ # `MaxResults` services matched the specified criteria but that
1862
1967
  # subsequent groups of `MaxResults` services do contain services that
1863
1968
  # match the criteria.
1864
1969
  #
@@ -1866,9 +1971,9 @@ module Aws::ServiceDiscovery
1866
1971
  # @return [String]
1867
1972
  #
1868
1973
  # @!attribute [rw] max_results
1869
- # The maximum number of services that you want AWS Cloud Map to return
1870
- # in the response to a `ListServices` request. If you don't specify a
1871
- # value for `MaxResults`, AWS Cloud Map returns up to 100 services.
1974
+ # The maximum number of services that you want Cloud Map to return in
1975
+ # the response to a `ListServices` request. If you don't specify a
1976
+ # value for `MaxResults`, Cloud Map returns up to 100 services.
1872
1977
  # @return [Integer]
1873
1978
  #
1874
1979
  # @!attribute [rw] filters
@@ -1899,9 +2004,9 @@ module Aws::ServiceDiscovery
1899
2004
  # request to get the next group of results. Specify the value of
1900
2005
  # `NextToken` from the previous response in the next request.
1901
2006
  #
1902
- # <note markdown="1"> AWS Cloud Map gets `MaxResults` services and then filters them based
1903
- # on the specified criteria. It's possible that no services in the
1904
- # first `MaxResults` services matched the specified criteria but that
2007
+ # <note markdown="1"> Cloud Map gets `MaxResults` services and then filters them based on
2008
+ # the specified criteria. It's possible that no services in the first
2009
+ # `MaxResults` services matched the specified criteria but that
1905
2010
  # subsequent groups of `MaxResults` services do contain services that
1906
2011
  # match the criteria.
1907
2012
  #
@@ -1956,7 +2061,7 @@ module Aws::ServiceDiscovery
1956
2061
  # @return [String]
1957
2062
  #
1958
2063
  # @!attribute [rw] arn
1959
- # The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the
2064
+ # The Amazon Resource Name (ARN) that Cloud Map assigns to the
1960
2065
  # namespace when you create it.
1961
2066
  # @return [String]
1962
2067
  #
@@ -1968,14 +2073,20 @@ module Aws::ServiceDiscovery
1968
2073
  # The type of the namespace. The methods for discovering instances
1969
2074
  # depends on the value that you specify:
1970
2075
  #
1971
- # * `HTTP`\: Instances can be discovered only programmatically, using
1972
- # the AWS Cloud Map `DiscoverInstances` API.
2076
+ # HTTP
2077
+ #
2078
+ # : Instances can be discovered only programmatically, using the Cloud
2079
+ # Map `DiscoverInstances` API.
2080
+ #
2081
+ # DNS\_PUBLIC
2082
+ #
2083
+ # : Instances can be discovered using public DNS queries and using the
2084
+ # `DiscoverInstances` API.
1973
2085
  #
1974
- # * `DNS_PUBLIC`\: Instances can be discovered using public DNS
1975
- # queries and using the `DiscoverInstances` API.
2086
+ # DNS\_PRIVATE
1976
2087
  #
1977
- # * `DNS_PRIVATE`\: Instances can be discovered using DNS queries in
1978
- # VPCs and using the `DiscoverInstances` API.
2088
+ # : Instances can be discovered using DNS queries in VPCs and using
2089
+ # the `DiscoverInstances` API.
1979
2090
  # @return [String]
1980
2091
  #
1981
2092
  # @!attribute [rw] description
@@ -2001,7 +2112,7 @@ module Aws::ServiceDiscovery
2001
2112
  #
2002
2113
  # @!attribute [rw] creator_request_id
2003
2114
  # A unique string that identifies the request and that allows failed
2004
- # requests to be retried without the risk of executing an operation
2115
+ # requests to be retried without the risk of running an operation
2005
2116
  # twice.
2006
2117
  # @return [String]
2007
2118
  #
@@ -2073,14 +2184,20 @@ module Aws::ServiceDiscovery
2073
2184
  # `ListNamespaces` returns a namespace. Valid values for `condition`
2074
2185
  # include:
2075
2186
  #
2076
- # * `EQ`\: When you specify `EQ` for the condition, you can choose to
2077
- # list only public namespaces or private namespaces, but not both.
2078
- # `EQ` is the default condition and can be omitted.
2187
+ # EQ
2079
2188
  #
2080
- # * `IN`\: When you specify `IN` for the condition, you can choose to
2081
- # list public namespaces, private namespaces, or both.
2189
+ # : When you specify `EQ` for the condition, you can choose to list
2190
+ # only public namespaces or private namespaces, but not both. `EQ`
2191
+ # is the default condition and can be omitted.
2082
2192
  #
2083
- # * `BETWEEN`\: Not applicable
2193
+ # IN
2194
+ #
2195
+ # : When you specify `IN` for the condition, you can choose to list
2196
+ # public namespaces, private namespaces, or both.
2197
+ #
2198
+ # BETWEEN
2199
+ #
2200
+ # : Not applicable
2084
2201
  # @return [String]
2085
2202
  #
2086
2203
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/NamespaceFilter AWS API Documentation
@@ -2106,12 +2223,12 @@ module Aws::ServiceDiscovery
2106
2223
  include Aws::Structure
2107
2224
  end
2108
2225
 
2109
- # A complex type that contains information that is specific to the
2226
+ # A complex type that contains information that's specific to the
2110
2227
  # namespace type.
2111
2228
  #
2112
2229
  # @!attribute [rw] dns_properties
2113
- # A complex type that contains the ID for the Route 53 hosted zone
2114
- # that AWS Cloud Map creates when you create a namespace.
2230
+ # A complex type that contains the ID for the Route 53 hosted zone
2231
+ # that Cloud Map creates when you create a namespace.
2115
2232
  # @return [Types::DnsProperties]
2116
2233
  #
2117
2234
  # @!attribute [rw] http_properties
@@ -2134,14 +2251,14 @@ module Aws::ServiceDiscovery
2134
2251
  # @return [String]
2135
2252
  #
2136
2253
  # @!attribute [rw] arn
2137
- # The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the
2254
+ # The Amazon Resource Name (ARN) that Cloud Map assigns to the
2138
2255
  # namespace when you create it.
2139
2256
  # @return [String]
2140
2257
  #
2141
2258
  # @!attribute [rw] name
2142
- # The name of the namespace. When you create a namespace, AWS Cloud
2143
- # Map automatically creates a Route 53 hosted zone that has the same
2144
- # name as the namespace.
2259
+ # The name of the namespace. When you create a namespace, Cloud Map
2260
+ # automatically creates a Route 53 hosted zone that has the same name
2261
+ # as the namespace.
2145
2262
  # @return [String]
2146
2263
  #
2147
2264
  # @!attribute [rw] type
@@ -2157,8 +2274,7 @@ module Aws::ServiceDiscovery
2157
2274
  # @return [Integer]
2158
2275
  #
2159
2276
  # @!attribute [rw] properties
2160
- # A complex type that contains information that is specific to the
2161
- # namespace type.
2277
+ # The properties of the namespace.
2162
2278
  # @return [Types::NamespaceProperties]
2163
2279
  #
2164
2280
  # @!attribute [rw] create_date
@@ -2187,21 +2303,28 @@ module Aws::ServiceDiscovery
2187
2303
  # @return [String]
2188
2304
  #
2189
2305
  # @!attribute [rw] type
2190
- # The name of the operation that is associated with the specified ID.
2306
+ # The name of the operation that's associated with the specified ID.
2191
2307
  # @return [String]
2192
2308
  #
2193
2309
  # @!attribute [rw] status
2194
2310
  # The status of the operation. Values include the following:
2195
2311
  #
2196
- # * **SUBMITTED**\: This is the initial state immediately after you
2197
- # submit a request.
2312
+ # SUBMITTED
2198
2313
  #
2199
- # * **PENDING**\: AWS Cloud Map is performing the operation.
2314
+ # : This is the initial state that occurs immediately after you submit
2315
+ # a request.
2200
2316
  #
2201
- # * **SUCCESS**\: The operation succeeded.
2317
+ # PENDING
2202
2318
  #
2203
- # * **FAIL**\: The operation failed. For the failure reason, see
2204
- # `ErrorMessage`.
2319
+ # : Cloud Map is performing the operation.
2320
+ #
2321
+ # SUCCESS
2322
+ #
2323
+ # : The operation succeeded.
2324
+ #
2325
+ # FAIL
2326
+ #
2327
+ # : The operation failed. For the failure reason, see `ErrorMessage`.
2205
2328
  # @return [String]
2206
2329
  #
2207
2330
  # @!attribute [rw] error_message
@@ -2245,16 +2368,19 @@ module Aws::ServiceDiscovery
2245
2368
  # @return [Time]
2246
2369
  #
2247
2370
  # @!attribute [rw] targets
2248
- # The name of the target entity that is associated with the operation:
2371
+ # The name of the target entity that's associated with the operation:
2249
2372
  #
2250
- # * **NAMESPACE**\: The namespace ID is returned in the `ResourceId`
2251
- # property.
2373
+ # NAMESPACE
2252
2374
  #
2253
- # * **SERVICE**\: The service ID is returned in the `ResourceId`
2254
- # property.
2375
+ # : The namespace ID is returned in the `ResourceId` property.
2255
2376
  #
2256
- # * **INSTANCE**\: The instance ID is returned in the `ResourceId`
2257
- # property.
2377
+ # SERVICE
2378
+ #
2379
+ # : The service ID is returned in the `ResourceId` property.
2380
+ #
2381
+ # INSTANCE
2382
+ #
2383
+ # : The instance ID is returned in the `ResourceId` property.
2258
2384
  # @return [Hash<String,String>]
2259
2385
  #
2260
2386
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/Operation AWS API Documentation
@@ -2381,7 +2507,7 @@ module Aws::ServiceDiscovery
2381
2507
  # * **SUBMITTED**\: This is the initial state immediately after you
2382
2508
  # submit a request.
2383
2509
  #
2384
- # * **PENDING**\: AWS Cloud Map is performing the operation.
2510
+ # * **PENDING**\: Cloud Map is performing the operation.
2385
2511
  #
2386
2512
  # * **SUCCESS**\: The operation succeeded.
2387
2513
  #
@@ -2398,186 +2524,449 @@ module Aws::ServiceDiscovery
2398
2524
  include Aws::Structure
2399
2525
  end
2400
2526
 
2401
- # @note When making an API call, you may pass RegisterInstanceRequest
2527
+ # Updated properties for the private DNS namespace.
2528
+ #
2529
+ # @note When making an API call, you may pass PrivateDnsNamespaceChange
2402
2530
  # data as a hash:
2403
2531
  #
2404
2532
  # {
2405
- # service_id: "ResourceId", # required
2406
- # instance_id: "ResourceId", # required
2407
- # creator_request_id: "ResourceId",
2408
- # attributes: { # required
2409
- # "AttrKey" => "AttrValue",
2533
+ # description: "ResourceDescription",
2534
+ # properties: {
2535
+ # dns_properties: { # required
2536
+ # soa: { # required
2537
+ # ttl: 1, # required
2538
+ # },
2539
+ # },
2410
2540
  # },
2411
2541
  # }
2412
2542
  #
2413
- # @!attribute [rw] service_id
2414
- # The ID of the service that you want to use for settings for the
2415
- # instance.
2543
+ # @!attribute [rw] description
2544
+ # An updated description for the private DNS namespace.
2416
2545
  # @return [String]
2417
2546
  #
2418
- # @!attribute [rw] instance_id
2419
- # An identifier that you want to associate with the instance. Note the
2420
- # following:
2421
- #
2422
- # * If the service that is specified by `ServiceId` includes settings
2423
- # for an `SRV` record, the value of `InstanceId` is automatically
2424
- # included as part of the value for the `SRV` record. For more
2425
- # information, see [DnsRecord &gt; Type][1].
2426
- #
2427
- # * You can use this value to update an existing instance.
2428
- #
2429
- # * To register a new instance, you must specify a value that is
2430
- # unique among instances that you register by using the same
2431
- # service.
2432
- #
2433
- # * If you specify an existing `InstanceId` and `ServiceId`, AWS Cloud
2434
- # Map updates the existing DNS records, if any. If there's also an
2435
- # existing health check, AWS Cloud Map deletes the old health check
2436
- # and creates a new one.
2547
+ # @!attribute [rw] properties
2548
+ # Properties to be updated in the private DNS namespace.
2549
+ # @return [Types::PrivateDnsNamespacePropertiesChange]
2437
2550
  #
2438
- # <note markdown="1"> The health check isn't deleted immediately, so it will still
2439
- # appear for a while if you submit a `ListHealthChecks` request, for
2440
- # example.
2551
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PrivateDnsNamespaceChange AWS API Documentation
2441
2552
  #
2442
- # </note>
2553
+ class PrivateDnsNamespaceChange < Struct.new(
2554
+ :description,
2555
+ :properties)
2556
+ SENSITIVE = []
2557
+ include Aws::Structure
2558
+ end
2559
+
2560
+ # DNS properties for the private DNS namespace.
2443
2561
  #
2562
+ # @note When making an API call, you may pass PrivateDnsNamespaceProperties
2563
+ # data as a hash:
2444
2564
  #
2565
+ # {
2566
+ # dns_properties: { # required
2567
+ # soa: { # required
2568
+ # ttl: 1, # required
2569
+ # },
2570
+ # },
2571
+ # }
2445
2572
  #
2446
- # [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_DnsRecord.html#cloudmap-Type-DnsRecord-Type
2447
- # @return [String]
2573
+ # @!attribute [rw] dns_properties
2574
+ # DNS properties for the private DNS namespace.
2575
+ # @return [Types::PrivateDnsPropertiesMutable]
2448
2576
  #
2449
- # @!attribute [rw] creator_request_id
2450
- # A unique string that identifies the request and that allows failed
2451
- # `RegisterInstance` requests to be retried without the risk of
2452
- # executing the operation twice. You must use a unique
2453
- # `CreatorRequestId` string every time you submit a `RegisterInstance`
2454
- # request if you're registering additional instances for the same
2455
- # namespace and service. `CreatorRequestId` can be any unique string,
2456
- # for example, a date/time stamp.
2577
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PrivateDnsNamespaceProperties AWS API Documentation
2457
2578
  #
2458
- # **A suitable default value is auto-generated.** You should normally
2459
- # not need to pass this option.
2460
- # @return [String]
2579
+ class PrivateDnsNamespaceProperties < Struct.new(
2580
+ :dns_properties)
2581
+ SENSITIVE = []
2582
+ include Aws::Structure
2583
+ end
2584
+
2585
+ # Updated properties for the private DNS namespace.
2461
2586
  #
2462
- # @!attribute [rw] attributes
2463
- # A string map that contains the following information for the service
2464
- # that you specify in `ServiceId`\:
2587
+ # @note When making an API call, you may pass PrivateDnsNamespacePropertiesChange
2588
+ # data as a hash:
2465
2589
  #
2466
- # * The attributes that apply to the records that are defined in the
2467
- # service.
2590
+ # {
2591
+ # dns_properties: { # required
2592
+ # soa: { # required
2593
+ # ttl: 1, # required
2594
+ # },
2595
+ # },
2596
+ # }
2468
2597
  #
2469
- # * For each attribute, the applicable value.
2598
+ # @!attribute [rw] dns_properties
2599
+ # Updated DNS properties for the private DNS namespace.
2600
+ # @return [Types::PrivateDnsPropertiesMutableChange]
2470
2601
  #
2471
- # Supported attribute keys include the following:
2602
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PrivateDnsNamespacePropertiesChange AWS API Documentation
2472
2603
  #
2473
- # **AWS\_ALIAS\_DNS\_NAME**
2604
+ class PrivateDnsNamespacePropertiesChange < Struct.new(
2605
+ :dns_properties)
2606
+ SENSITIVE = []
2607
+ include Aws::Structure
2608
+ end
2609
+
2610
+ # DNS properties for the private DNS namespace.
2474
2611
  #
2475
- # If you want AWS Cloud Map to create an Amazon Route 53 alias record
2476
- # that routes traffic to an Elastic Load Balancing load balancer,
2477
- # specify the DNS name that is associated with the load balancer. For
2478
- # information about how to get the DNS name, see "DNSName" in the
2479
- # topic [AliasTarget][1] in the *Route 53 API Reference*.
2612
+ # @note When making an API call, you may pass PrivateDnsPropertiesMutable
2613
+ # data as a hash:
2480
2614
  #
2481
- # Note the following:
2615
+ # {
2616
+ # soa: { # required
2617
+ # ttl: 1, # required
2618
+ # },
2619
+ # }
2482
2620
  #
2483
- # * The configuration for the service that is specified by `ServiceId`
2484
- # must include settings for an `A` record, an `AAAA` record, or
2485
- # both.
2621
+ # @!attribute [rw] soa
2622
+ # Fields for the Start of Authority (SOA) record for the hosted zone
2623
+ # for the private DNS namespace.
2624
+ # @return [Types::SOA]
2486
2625
  #
2487
- # * In the service that is specified by `ServiceId`, the value of
2488
- # `RoutingPolicy` must be `WEIGHTED`.
2626
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PrivateDnsPropertiesMutable AWS API Documentation
2489
2627
  #
2490
- # * If the service that is specified by `ServiceId` includes
2491
- # `HealthCheckConfig` settings, AWS Cloud Map will create the
2492
- # Route 53 health check, but it won't associate the health check
2493
- # with the alias record.
2628
+ class PrivateDnsPropertiesMutable < Struct.new(
2629
+ :soa)
2630
+ SENSITIVE = []
2631
+ include Aws::Structure
2632
+ end
2633
+
2634
+ # Updated DNS properties for the private DNS namespace.
2494
2635
  #
2495
- # * Auto naming currently doesn't support creating alias records that
2496
- # route traffic to AWS resources other than Elastic Load Balancing
2497
- # load balancers.
2636
+ # @note When making an API call, you may pass PrivateDnsPropertiesMutableChange
2637
+ # data as a hash:
2498
2638
  #
2499
- # * If you specify a value for `AWS_ALIAS_DNS_NAME`, don't specify
2500
- # values for any of the `AWS_INSTANCE` attributes.
2639
+ # {
2640
+ # soa: { # required
2641
+ # ttl: 1, # required
2642
+ # },
2643
+ # }
2501
2644
  #
2502
- # **AWS\_EC2\_INSTANCE\_ID**
2645
+ # @!attribute [rw] soa
2646
+ # Updated fields for the Start of Authority (SOA) record for the
2647
+ # hosted zone for the private DNS namespace.
2648
+ # @return [Types::SOAChange]
2503
2649
  #
2504
- # *HTTP namespaces only.* The Amazon EC2 instance ID for the instance.
2505
- # If the `AWS_EC2_INSTANCE_ID` attribute is specified, then the only
2506
- # other attribute that can be specified is `AWS_INIT_HEALTH_STATUS`.
2507
- # When the `AWS_EC2_INSTANCE_ID` attribute is specified, then the
2508
- # `AWS_INSTANCE_IPV4` attribute will be filled out with the primary
2509
- # private IPv4 address.
2650
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PrivateDnsPropertiesMutableChange AWS API Documentation
2510
2651
  #
2511
- # **AWS\_INIT\_HEALTH\_STATUS**
2652
+ class PrivateDnsPropertiesMutableChange < Struct.new(
2653
+ :soa)
2654
+ SENSITIVE = []
2655
+ include Aws::Structure
2656
+ end
2657
+
2658
+ # Updated properties for the public DNS namespace.
2512
2659
  #
2513
- # If the service configuration includes `HealthCheckCustomConfig`, you
2514
- # can optionally use `AWS_INIT_HEALTH_STATUS` to specify the initial
2515
- # status of the custom health check, `HEALTHY` or `UNHEALTHY`. If you
2516
- # don't specify a value for `AWS_INIT_HEALTH_STATUS`, the initial
2517
- # status is `HEALTHY`.
2660
+ # @note When making an API call, you may pass PublicDnsNamespaceChange
2661
+ # data as a hash:
2518
2662
  #
2519
- # **AWS\_INSTANCE\_CNAME**
2663
+ # {
2664
+ # description: "ResourceDescription",
2665
+ # properties: {
2666
+ # dns_properties: { # required
2667
+ # soa: { # required
2668
+ # ttl: 1, # required
2669
+ # },
2670
+ # },
2671
+ # },
2672
+ # }
2520
2673
  #
2521
- # If the service configuration includes a `CNAME` record, the domain
2522
- # name that you want Route 53 to return in response to DNS queries,
2523
- # for example, `example.com`.
2674
+ # @!attribute [rw] description
2675
+ # An updated description for the public DNS namespace.
2676
+ # @return [String]
2524
2677
  #
2525
- # This value is required if the service specified by `ServiceId`
2526
- # includes settings for an `CNAME` record.
2678
+ # @!attribute [rw] properties
2679
+ # Properties to be updated in the public DNS namespace.
2680
+ # @return [Types::PublicDnsNamespacePropertiesChange]
2527
2681
  #
2528
- # **AWS\_INSTANCE\_IPV4**
2682
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PublicDnsNamespaceChange AWS API Documentation
2529
2683
  #
2530
- # If the service configuration includes an `A` record, the IPv4
2531
- # address that you want Route 53 to return in response to DNS queries,
2532
- # for example, `192.0.2.44`.
2684
+ class PublicDnsNamespaceChange < Struct.new(
2685
+ :description,
2686
+ :properties)
2687
+ SENSITIVE = []
2688
+ include Aws::Structure
2689
+ end
2690
+
2691
+ # DNS properties for the public DNS namespace.
2533
2692
  #
2534
- # This value is required if the service specified by `ServiceId`
2535
- # includes settings for an `A` record. If the service includes
2536
- # settings for an `SRV` record, you must specify a value for
2537
- # `AWS_INSTANCE_IPV4`, `AWS_INSTANCE_IPV6`, or both.
2693
+ # @note When making an API call, you may pass PublicDnsNamespaceProperties
2694
+ # data as a hash:
2538
2695
  #
2539
- # **AWS\_INSTANCE\_IPV6**
2696
+ # {
2697
+ # dns_properties: { # required
2698
+ # soa: { # required
2699
+ # ttl: 1, # required
2700
+ # },
2701
+ # },
2702
+ # }
2540
2703
  #
2541
- # If the service configuration includes an `AAAA` record, the IPv6
2542
- # address that you want Route 53 to return in response to DNS queries,
2543
- # for example, `2001:0db8:85a3:0000:0000:abcd:0001:2345`.
2704
+ # @!attribute [rw] dns_properties
2705
+ # DNS properties for the public DNS namespace.
2706
+ # @return [Types::PublicDnsPropertiesMutable]
2544
2707
  #
2545
- # This value is required if the service specified by `ServiceId`
2546
- # includes settings for an `AAAA` record. If the service includes
2547
- # settings for an `SRV` record, you must specify a value for
2548
- # `AWS_INSTANCE_IPV4`, `AWS_INSTANCE_IPV6`, or both.
2708
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PublicDnsNamespaceProperties AWS API Documentation
2549
2709
  #
2550
- # **AWS\_INSTANCE\_PORT**
2710
+ class PublicDnsNamespaceProperties < Struct.new(
2711
+ :dns_properties)
2712
+ SENSITIVE = []
2713
+ include Aws::Structure
2714
+ end
2715
+
2716
+ # Updated properties for the public DNS namespace.
2551
2717
  #
2552
- # If the service includes an `SRV` record, the value that you want
2553
- # Route 53 to return for the port.
2718
+ # @note When making an API call, you may pass PublicDnsNamespacePropertiesChange
2719
+ # data as a hash:
2554
2720
  #
2555
- # If the service includes `HealthCheckConfig`, the port on the
2556
- # endpoint that you want Route 53 to send requests to.
2721
+ # {
2722
+ # dns_properties: { # required
2723
+ # soa: { # required
2724
+ # ttl: 1, # required
2725
+ # },
2726
+ # },
2727
+ # }
2557
2728
  #
2558
- # This value is required if you specified settings for an `SRV` record
2559
- # or a Route 53 health check when you created the service.
2729
+ # @!attribute [rw] dns_properties
2730
+ # Updated DNS properties for the hosted zone for the public DNS
2731
+ # namespace.
2732
+ # @return [Types::PublicDnsPropertiesMutableChange]
2560
2733
  #
2561
- # **Custom attributes**
2734
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PublicDnsNamespacePropertiesChange AWS API Documentation
2562
2735
  #
2563
- # You can add up to 30 custom attributes. For each key-value pair, the
2564
- # maximum length of the attribute name is 255 characters, and the
2565
- # maximum length of the attribute value is 1,024 characters. The total
2566
- # size of all provided attributes (sum of all keys and values) must
2567
- # not exceed 5,000 characters.
2736
+ class PublicDnsNamespacePropertiesChange < Struct.new(
2737
+ :dns_properties)
2738
+ SENSITIVE = []
2739
+ include Aws::Structure
2740
+ end
2741
+
2742
+ # DNS properties for the public DNS namespace.
2568
2743
  #
2744
+ # @note When making an API call, you may pass PublicDnsPropertiesMutable
2745
+ # data as a hash:
2569
2746
  #
2747
+ # {
2748
+ # soa: { # required
2749
+ # ttl: 1, # required
2750
+ # },
2751
+ # }
2570
2752
  #
2571
- # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html
2572
- # @return [Hash<String,String>]
2753
+ # @!attribute [rw] soa
2754
+ # Start of Authority (SOA) record for the hosted zone for the public
2755
+ # DNS namespace.
2756
+ # @return [Types::SOA]
2573
2757
  #
2574
- # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/RegisterInstanceRequest AWS API Documentation
2758
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PublicDnsPropertiesMutable AWS API Documentation
2575
2759
  #
2576
- class RegisterInstanceRequest < Struct.new(
2577
- :service_id,
2578
- :instance_id,
2579
- :creator_request_id,
2580
- :attributes)
2760
+ class PublicDnsPropertiesMutable < Struct.new(
2761
+ :soa)
2762
+ SENSITIVE = []
2763
+ include Aws::Structure
2764
+ end
2765
+
2766
+ # Updated DNS properties for the public DNS namespace.
2767
+ #
2768
+ # @note When making an API call, you may pass PublicDnsPropertiesMutableChange
2769
+ # data as a hash:
2770
+ #
2771
+ # {
2772
+ # soa: { # required
2773
+ # ttl: 1, # required
2774
+ # },
2775
+ # }
2776
+ #
2777
+ # @!attribute [rw] soa
2778
+ # Updated fields for the Start of Authority (SOA) record for the
2779
+ # hosted zone for the public DNS namespace.
2780
+ # @return [Types::SOAChange]
2781
+ #
2782
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/PublicDnsPropertiesMutableChange AWS API Documentation
2783
+ #
2784
+ class PublicDnsPropertiesMutableChange < Struct.new(
2785
+ :soa)
2786
+ SENSITIVE = []
2787
+ include Aws::Structure
2788
+ end
2789
+
2790
+ # @note When making an API call, you may pass RegisterInstanceRequest
2791
+ # data as a hash:
2792
+ #
2793
+ # {
2794
+ # service_id: "ResourceId", # required
2795
+ # instance_id: "InstanceId", # required
2796
+ # creator_request_id: "ResourceId",
2797
+ # attributes: { # required
2798
+ # "AttrKey" => "AttrValue",
2799
+ # },
2800
+ # }
2801
+ #
2802
+ # @!attribute [rw] service_id
2803
+ # The ID of the service that you want to use for settings for the
2804
+ # instance.
2805
+ # @return [String]
2806
+ #
2807
+ # @!attribute [rw] instance_id
2808
+ # An identifier that you want to associate with the instance. Note the
2809
+ # following:
2810
+ #
2811
+ # * If the service that's specified by `ServiceId` includes settings
2812
+ # for an `SRV` record, the value of `InstanceId` is automatically
2813
+ # included as part of the value for the `SRV` record. For more
2814
+ # information, see [DnsRecord &gt; Type][1].
2815
+ #
2816
+ # * You can use this value to update an existing instance.
2817
+ #
2818
+ # * To register a new instance, you must specify a value that's
2819
+ # unique among instances that you register by using the same
2820
+ # service.
2821
+ #
2822
+ # * If you specify an existing `InstanceId` and `ServiceId`, Cloud Map
2823
+ # updates the existing DNS records, if any. If there's also an
2824
+ # existing health check, Cloud Map deletes the old health check and
2825
+ # creates a new one.
2826
+ #
2827
+ # <note markdown="1"> The health check isn't deleted immediately, so it will still
2828
+ # appear for a while if you submit a `ListHealthChecks` request, for
2829
+ # example.
2830
+ #
2831
+ # </note>
2832
+ #
2833
+ #
2834
+ #
2835
+ # [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_DnsRecord.html#cloudmap-Type-DnsRecord-Type
2836
+ # @return [String]
2837
+ #
2838
+ # @!attribute [rw] creator_request_id
2839
+ # A unique string that identifies the request and that allows failed
2840
+ # `RegisterInstance` requests to be retried without the risk of
2841
+ # executing the operation twice. You must use a unique
2842
+ # `CreatorRequestId` string every time you submit a `RegisterInstance`
2843
+ # request if you're registering additional instances for the same
2844
+ # namespace and service. `CreatorRequestId` can be any unique string
2845
+ # (for example, a date/time stamp).
2846
+ #
2847
+ # **A suitable default value is auto-generated.** You should normally
2848
+ # not need to pass this option.
2849
+ # @return [String]
2850
+ #
2851
+ # @!attribute [rw] attributes
2852
+ # A string map that contains the following information for the service
2853
+ # that you specify in `ServiceId`\:
2854
+ #
2855
+ # * The attributes that apply to the records that are defined in the
2856
+ # service.
2857
+ #
2858
+ # * For each attribute, the applicable value.
2859
+ #
2860
+ # Supported attribute keys include the following:
2861
+ #
2862
+ # AWS\_ALIAS\_DNS\_NAME
2863
+ #
2864
+ # : If you want Cloud Map to create an Amazon Route 53 alias record
2865
+ # that routes traffic to an Elastic Load Balancing load balancer,
2866
+ # specify the DNS name that's associated with the load balancer.
2867
+ # For information about how to get the DNS name, see "DNSName" in
2868
+ # the topic [AliasTarget][1] in the *Route 53 API Reference*.
2869
+ #
2870
+ # Note the following:
2871
+ #
2872
+ # * The configuration for the service that's specified by
2873
+ # `ServiceId` must include settings for an `A` record, an `AAAA`
2874
+ # record, or both.
2875
+ #
2876
+ # * In the service that's specified by `ServiceId`, the value of
2877
+ # `RoutingPolicy` must be `WEIGHTED`.
2878
+ #
2879
+ # * If the service that's specified by `ServiceId` includes
2880
+ # `HealthCheckConfig` settings, Cloud Map will create the Route 53
2881
+ # health check, but it doesn't associate the health check with
2882
+ # the alias record.
2883
+ #
2884
+ # * Auto naming currently doesn't support creating alias records
2885
+ # that route traffic to Amazon Web Services resources other than
2886
+ # Elastic Load Balancing load balancers.
2887
+ #
2888
+ # * If you specify a value for `AWS_ALIAS_DNS_NAME`, don't specify
2889
+ # values for any of the `AWS_INSTANCE` attributes.
2890
+ #
2891
+ # AWS\_EC2\_INSTANCE\_ID
2892
+ #
2893
+ # : *HTTP namespaces only.* The Amazon EC2 instance ID for the
2894
+ # instance. If the `AWS_EC2_INSTANCE_ID` attribute is specified,
2895
+ # then the only other attribute that can be specified is
2896
+ # `AWS_INIT_HEALTH_STATUS`. When the `AWS_EC2_INSTANCE_ID` attribute
2897
+ # is specified, then the `AWS_INSTANCE_IPV4` attribute will be
2898
+ # filled out with the primary private IPv4 address.
2899
+ #
2900
+ # AWS\_INIT\_HEALTH\_STATUS
2901
+ #
2902
+ # : If the service configuration includes `HealthCheckCustomConfig`,
2903
+ # you can optionally use `AWS_INIT_HEALTH_STATUS` to specify the
2904
+ # initial status of the custom health check, `HEALTHY` or
2905
+ # `UNHEALTHY`. If you don't specify a value for
2906
+ # `AWS_INIT_HEALTH_STATUS`, the initial status is `HEALTHY`.
2907
+ #
2908
+ # AWS\_INSTANCE\_CNAME
2909
+ #
2910
+ # : If the service configuration includes a `CNAME` record, the domain
2911
+ # name that you want Route 53 to return in response to DNS queries
2912
+ # (for example, `example.com`).
2913
+ #
2914
+ # This value is required if the service specified by `ServiceId`
2915
+ # includes settings for an `CNAME` record.
2916
+ #
2917
+ # AWS\_INSTANCE\_IPV4
2918
+ #
2919
+ # : If the service configuration includes an `A` record, the IPv4
2920
+ # address that you want Route 53 to return in response to DNS
2921
+ # queries (for example, `192.0.2.44`).
2922
+ #
2923
+ # This value is required if the service specified by `ServiceId`
2924
+ # includes settings for an `A` record. If the service includes
2925
+ # settings for an `SRV` record, you must specify a value for
2926
+ # `AWS_INSTANCE_IPV4`, `AWS_INSTANCE_IPV6`, or both.
2927
+ #
2928
+ # AWS\_INSTANCE\_IPV6
2929
+ #
2930
+ # : If the service configuration includes an `AAAA` record, the IPv6
2931
+ # address that you want Route 53 to return in response to DNS
2932
+ # queries (for example, `2001:0db8:85a3:0000:0000:abcd:0001:2345`).
2933
+ #
2934
+ # This value is required if the service specified by `ServiceId`
2935
+ # includes settings for an `AAAA` record. If the service includes
2936
+ # settings for an `SRV` record, you must specify a value for
2937
+ # `AWS_INSTANCE_IPV4`, `AWS_INSTANCE_IPV6`, or both.
2938
+ #
2939
+ # AWS\_INSTANCE\_PORT
2940
+ #
2941
+ # : If the service includes an `SRV` record, the value that you want
2942
+ # Route 53 to return for the port.
2943
+ #
2944
+ # If the service includes `HealthCheckConfig`, the port on the
2945
+ # endpoint that you want Route 53 to send requests to.
2946
+ #
2947
+ # This value is required if you specified settings for an `SRV`
2948
+ # record or a Route 53 health check when you created the service.
2949
+ #
2950
+ # Custom attributes
2951
+ #
2952
+ # : You can add up to 30 custom attributes. For each key-value pair,
2953
+ # the maximum length of the attribute name is 255 characters, and
2954
+ # the maximum length of the attribute value is 1,024 characters. The
2955
+ # total size of all provided attributes (sum of all keys and values)
2956
+ # must not exceed 5,000 characters.
2957
+ #
2958
+ #
2959
+ #
2960
+ # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html
2961
+ # @return [Hash<String,String>]
2962
+ #
2963
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/RegisterInstanceRequest AWS API Documentation
2964
+ #
2965
+ class RegisterInstanceRequest < Struct.new(
2966
+ :service_id,
2967
+ :instance_id,
2968
+ :creator_request_id,
2969
+ :attributes)
2581
2970
  SENSITIVE = []
2582
2971
  include Aws::Structure
2583
2972
  end
@@ -2601,9 +2990,8 @@ module Aws::ServiceDiscovery
2601
2990
  end
2602
2991
 
2603
2992
  # The operation can't be completed because you've reached the quota
2604
- # for the number of requests. For more information, see [AWS Cloud Map
2605
- # API request throttling quota][1] in the *AWS Cloud Map Developer
2606
- # Guide*.
2993
+ # for the number of requests. For more information, see [Cloud Map API
2994
+ # request throttling quota][1] in the *Cloud Map Developer Guide*.
2607
2995
  #
2608
2996
  #
2609
2997
  #
@@ -2662,16 +3050,59 @@ module Aws::ServiceDiscovery
2662
3050
  include Aws::Structure
2663
3051
  end
2664
3052
 
3053
+ # Start of Authority (SOA) properties for a public or private DNS
3054
+ # namespace.
3055
+ #
3056
+ # @note When making an API call, you may pass SOA
3057
+ # data as a hash:
3058
+ #
3059
+ # {
3060
+ # ttl: 1, # required
3061
+ # }
3062
+ #
3063
+ # @!attribute [rw] ttl
3064
+ # The time to live (TTL) for purposes of negative caching.
3065
+ # @return [Integer]
3066
+ #
3067
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/SOA AWS API Documentation
3068
+ #
3069
+ class SOA < Struct.new(
3070
+ :ttl)
3071
+ SENSITIVE = []
3072
+ include Aws::Structure
3073
+ end
3074
+
3075
+ # Updated Start of Authority (SOA) properties for a public or private
3076
+ # DNS namespace.
3077
+ #
3078
+ # @note When making an API call, you may pass SOAChange
3079
+ # data as a hash:
3080
+ #
3081
+ # {
3082
+ # ttl: 1, # required
3083
+ # }
3084
+ #
3085
+ # @!attribute [rw] ttl
3086
+ # The updated time to live (TTL) for purposes of negative caching.
3087
+ # @return [Integer]
3088
+ #
3089
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/SOAChange AWS API Documentation
3090
+ #
3091
+ class SOAChange < Struct.new(
3092
+ :ttl)
3093
+ SENSITIVE = []
3094
+ include Aws::Structure
3095
+ end
3096
+
2665
3097
  # A complex type that contains information about the specified service.
2666
3098
  #
2667
3099
  # @!attribute [rw] id
2668
- # The ID that AWS Cloud Map assigned to the service when you created
2669
- # it.
3100
+ # The ID that Cloud Map assigned to the service when you created it.
2670
3101
  # @return [String]
2671
3102
  #
2672
3103
  # @!attribute [rw] arn
2673
- # The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the
2674
- # service when you create it.
3104
+ # The Amazon Resource Name (ARN) that Cloud Map assigns to the service
3105
+ # when you create it.
2675
3106
  # @return [String]
2676
3107
  #
2677
3108
  # @!attribute [rw] name
@@ -2689,13 +3120,13 @@ module Aws::ServiceDiscovery
2689
3120
  # @!attribute [rw] instance_count
2690
3121
  # The number of instances that are currently associated with the
2691
3122
  # service. Instances that were previously associated with the service
2692
- # but that have been deleted are not included in the count. The count
2693
- # might not reflect pending registrations and deregistrations.
3123
+ # but that are deleted aren't included in the count. The count might
3124
+ # not reflect pending registrations and deregistrations.
2694
3125
  # @return [Integer]
2695
3126
  #
2696
3127
  # @!attribute [rw] dns_config
2697
- # A complex type that contains information about the Route 53 DNS
2698
- # records that you want AWS Cloud Map to create when you register an
3128
+ # A complex type that contains information about the Route 53 DNS
3129
+ # records that you want Cloud Map to create when you register an
2699
3130
  # instance.
2700
3131
  # @return [Types::DnsConfig]
2701
3132
  #
@@ -2721,11 +3152,11 @@ module Aws::ServiceDiscovery
2721
3152
  # @!attribute [rw] health_check_config
2722
3153
  # *Public DNS and HTTP namespaces only.* A complex type that contains
2723
3154
  # settings for an optional health check. If you specify settings for a
2724
- # health check, AWS Cloud Map associates the health check with the
2725
- # records that you specify in `DnsConfig`.
3155
+ # health check, Cloud Map associates the health check with the records
3156
+ # that you specify in `DnsConfig`.
2726
3157
  #
2727
3158
  # For information about the charges for health checks, see [Amazon
2728
- # Route 53 Pricing][1].
3159
+ # Route 53 Pricing][1].
2729
3160
  #
2730
3161
  #
2731
3162
  #
@@ -2749,9 +3180,9 @@ module Aws::ServiceDiscovery
2749
3180
  #
2750
3181
  # @!attribute [rw] creator_request_id
2751
3182
  # A unique string that identifies the request and that allows failed
2752
- # requests to be retried without the risk of executing the operation
2753
- # twice. `CreatorRequestId` can be any unique string, for example, a
2754
- # date/time stamp.
3183
+ # requests to be retried without the risk of running the operation
3184
+ # twice. `CreatorRequestId` can be any unique string (for example, a
3185
+ # date/timestamp).
2755
3186
  # @return [String]
2756
3187
  #
2757
3188
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/Service AWS API Documentation
@@ -2824,81 +3255,15 @@ module Aws::ServiceDiscovery
2824
3255
  # @return [String]
2825
3256
  #
2826
3257
  # @!attribute [rw] dns_config
2827
- # A complex type that contains information about the Route 53 DNS
2828
- # records that you want AWS Cloud Map to create when you register an
2829
- # instance.
3258
+ # Information about the Route 53 DNS records that you want Cloud Map
3259
+ # to create when you register an instance.
2830
3260
  # @return [Types::DnsConfigChange]
2831
3261
  #
2832
3262
  # @!attribute [rw] health_check_config
2833
- # *Public DNS and HTTP namespaces only.* A complex type that contains
2834
- # settings for an optional health check. If you specify settings for a
2835
- # health check, AWS Cloud Map associates the health check with the
2836
- # records that you specify in `DnsConfig`.
2837
- #
2838
- # If you specify a health check configuration, you can specify either
2839
- # `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
2840
- #
2841
- # Health checks are basic Route 53 health checks that monitor an AWS
2842
- # endpoint. For information about pricing for health checks, see
2843
- # [Amazon Route 53 Pricing][1].
2844
- #
2845
- # Note the following about configuring health checks.
2846
- #
2847
- # <b> <code>A</code> and <code>AAAA</code> records</b>
2848
- #
2849
- # If `DnsConfig` includes configurations for both `A` and `AAAA`
2850
- # records, AWS Cloud Map creates a health check that uses the IPv4
2851
- # address to check the health of the resource. If the endpoint that is
2852
- # specified by the IPv4 address is unhealthy, Route 53 considers both
2853
- # the `A` and `AAAA` records to be unhealthy.
2854
- #
2855
- # <b> <code>CNAME</code> records</b>
2856
- #
2857
- # You can't specify settings for `HealthCheckConfig` when the
2858
- # `DNSConfig` includes `CNAME` for the value of `Type`. If you do, the
2859
- # `CreateService` request will fail with an `InvalidInput` error.
2860
- #
2861
- # **Request interval**
2862
- #
2863
- # A Route 53 health checker in each health-checking region sends a
2864
- # health check request to an endpoint every 30 seconds. On average,
2865
- # your endpoint receives a health check request about every two
2866
- # seconds. However, health checkers don't coordinate with one
2867
- # another, so you'll sometimes see several requests per second
2868
- # followed by a few seconds with no health checks at all.
2869
- #
2870
- # **Health checking regions**
2871
- #
2872
- # Health checkers perform checks from all Route 53 health-checking
2873
- # regions. For a list of the current regions, see [Regions][2].
2874
- #
2875
- # **Alias records**
2876
- #
2877
- # When you register an instance, if you include the
2878
- # `AWS_ALIAS_DNS_NAME` attribute, AWS Cloud Map creates a Route 53
2879
- # alias record. Note the following:
2880
- #
2881
- # * Route 53 automatically sets `EvaluateTargetHealth` to true for
2882
- # alias records. When `EvaluateTargetHealth` is true, the alias
2883
- # record inherits the health of the referenced AWS resource. such as
2884
- # an ELB load balancer. For more information, see
2885
- # [EvaluateTargetHealth][3].
2886
- #
2887
- # * If you include `HealthCheckConfig` and then use the service to
2888
- # register an instance that creates an alias record, Route 53
2889
- # doesn't create the health check.
2890
- #
2891
- # **Charges for health checks**
2892
- #
2893
- # Health checks are basic Route 53 health checks that monitor an AWS
2894
- # endpoint. For information about pricing for health checks, see
2895
- # [Amazon Route 53 Pricing][1].
2896
- #
2897
- #
2898
- #
2899
- # [1]: http://aws.amazon.com/route53/pricing/
2900
- # [2]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-Regions
2901
- # [3]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-EvaluateTargetHealth
3263
+ # *Public DNS and HTTP namespaces only.* Settings for an optional
3264
+ # health check. If you specify settings for a health check, Cloud Map
3265
+ # associates the health check with the records that you specify in
3266
+ # `DnsConfig`.
2902
3267
  # @return [Types::HealthCheckConfig]
2903
3268
  #
2904
3269
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ServiceChange AWS API Documentation
@@ -2973,13 +3338,12 @@ module Aws::ServiceDiscovery
2973
3338
  # A complex type that contains information about a specified service.
2974
3339
  #
2975
3340
  # @!attribute [rw] id
2976
- # The ID that AWS Cloud Map assigned to the service when you created
2977
- # it.
3341
+ # The ID that Cloud Map assigned to the service when you created it.
2978
3342
  # @return [String]
2979
3343
  #
2980
3344
  # @!attribute [rw] arn
2981
- # The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the
2982
- # service when you create it.
3345
+ # The Amazon Resource Name (ARN) that Cloud Map assigns to the service
3346
+ # when you create it.
2983
3347
  # @return [String]
2984
3348
  #
2985
3349
  # @!attribute [rw] name
@@ -3012,147 +3376,39 @@ module Aws::ServiceDiscovery
3012
3376
  # @!attribute [rw] instance_count
3013
3377
  # The number of instances that are currently associated with the
3014
3378
  # service. Instances that were previously associated with the service
3015
- # but that have been deleted are not included in the count. The count
3016
- # might not reflect pending registrations and deregistrations.
3379
+ # but that are deleted aren't included in the count. The count might
3380
+ # not reflect pending registrations and deregistrations.
3017
3381
  # @return [Integer]
3018
3382
  #
3019
3383
  # @!attribute [rw] dns_config
3020
- # A complex type that contains information about the Amazon Route 53
3021
- # DNS records that you want AWS Cloud Map to create when you register
3022
- # an instance.
3384
+ # Information about the Route 53 DNS records that you want Cloud Map
3385
+ # to create when you register an instance.
3023
3386
  # @return [Types::DnsConfig]
3024
3387
  #
3025
3388
  # @!attribute [rw] health_check_config
3026
- # *Public DNS and HTTP namespaces only.* A complex type that contains
3027
- # settings for an optional health check. If you specify settings for a
3028
- # health check, AWS Cloud Map associates the health check with the
3029
- # records that you specify in `DnsConfig`.
3030
- #
3031
- # If you specify a health check configuration, you can specify either
3032
- # `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
3033
- #
3034
- # Health checks are basic Route 53 health checks that monitor an AWS
3035
- # endpoint. For information about pricing for health checks, see
3036
- # [Amazon Route 53 Pricing][1].
3037
- #
3038
- # Note the following about configuring health checks.
3039
- #
3040
- # <b> <code>A</code> and <code>AAAA</code> records</b>
3041
- #
3042
- # If `DnsConfig` includes configurations for both `A` and `AAAA`
3043
- # records, AWS Cloud Map creates a health check that uses the IPv4
3044
- # address to check the health of the resource. If the endpoint that is
3045
- # specified by the IPv4 address is unhealthy, Route 53 considers both
3046
- # the `A` and `AAAA` records to be unhealthy.
3047
- #
3048
- # <b> <code>CNAME</code> records</b>
3049
- #
3050
- # You can't specify settings for `HealthCheckConfig` when the
3051
- # `DNSConfig` includes `CNAME` for the value of `Type`. If you do, the
3052
- # `CreateService` request will fail with an `InvalidInput` error.
3053
- #
3054
- # **Request interval**
3055
- #
3056
- # A Route 53 health checker in each health-checking region sends a
3057
- # health check request to an endpoint every 30 seconds. On average,
3058
- # your endpoint receives a health check request about every two
3059
- # seconds. However, health checkers don't coordinate with one
3060
- # another, so you'll sometimes see several requests per second
3061
- # followed by a few seconds with no health checks at all.
3062
- #
3063
- # **Health checking regions**
3064
- #
3065
- # Health checkers perform checks from all Route 53 health-checking
3066
- # regions. For a list of the current regions, see [Regions][2].
3067
- #
3068
- # **Alias records**
3069
- #
3070
- # When you register an instance, if you include the
3071
- # `AWS_ALIAS_DNS_NAME` attribute, AWS Cloud Map creates a Route 53
3072
- # alias record. Note the following:
3073
- #
3074
- # * Route 53 automatically sets `EvaluateTargetHealth` to true for
3075
- # alias records. When `EvaluateTargetHealth` is true, the alias
3076
- # record inherits the health of the referenced AWS resource. such as
3077
- # an ELB load balancer. For more information, see
3078
- # [EvaluateTargetHealth][3].
3079
- #
3080
- # * If you include `HealthCheckConfig` and then use the service to
3081
- # register an instance that creates an alias record, Route 53
3082
- # doesn't create the health check.
3083
- #
3084
- # **Charges for health checks**
3085
- #
3086
- # Health checks are basic Route 53 health checks that monitor an AWS
3087
- # endpoint. For information about pricing for health checks, see
3088
- # [Amazon Route 53 Pricing][1].
3089
- #
3090
- #
3091
- #
3092
- # [1]: http://aws.amazon.com/route53/pricing/
3093
- # [2]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-Regions
3094
- # [3]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-EvaluateTargetHealth
3389
+ # *Public DNS and HTTP namespaces only.* Settings for an optional
3390
+ # health check. If you specify settings for a health check, Cloud Map
3391
+ # associates the health check with the records that you specify in
3392
+ # `DnsConfig`.
3095
3393
  # @return [Types::HealthCheckConfig]
3096
3394
  #
3097
3395
  # @!attribute [rw] health_check_custom_config
3098
- # A complex type that contains information about an optional custom
3099
- # health check. A custom health check, which requires that you use a
3100
- # third-party health checker to evaluate the health of your resources,
3101
- # is useful in the following circumstances:
3396
+ # Information about an optional custom health check. A custom health
3397
+ # check, which requires that you use a third-party health checker to
3398
+ # evaluate the health of your resources, is useful in the following
3399
+ # circumstances:
3102
3400
  #
3103
- # * You can't use a health check that is defined by
3401
+ # * You can't use a health check that's defined by
3104
3402
  # `HealthCheckConfig` because the resource isn't available over the
3105
3403
  # internet. For example, you can use a custom health check when the
3106
3404
  # instance is in an Amazon VPC. (To check the health of resources in
3107
3405
  # a VPC, the health checker must also be in the VPC.)
3108
3406
  #
3109
3407
  # * You want to use a third-party health checker regardless of where
3110
- # your resources are.
3408
+ # your resources are located.
3111
3409
  #
3112
3410
  # If you specify a health check configuration, you can specify either
3113
3411
  # `HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
3114
- #
3115
- # To change the status of a custom health check, submit an
3116
- # `UpdateInstanceCustomHealthStatus` request. AWS Cloud Map doesn't
3117
- # monitor the status of the resource, it just keeps a record of the
3118
- # status specified in the most recent
3119
- # `UpdateInstanceCustomHealthStatus` request.
3120
- #
3121
- # Here's how custom health checks work:
3122
- #
3123
- # 1. You create a service and specify a value for `FailureThreshold`.
3124
- #
3125
- # The failure threshold indicates the number of 30-second
3126
- # intervals you want AWS Cloud Map to wait between the time that
3127
- # your application sends an [UpdateInstanceCustomHealthStatus][1]
3128
- # request and the time that AWS Cloud Map stops routing internet
3129
- # traffic to the corresponding resource.
3130
- #
3131
- # 2. You register an instance.
3132
- #
3133
- # 3. You configure a third-party health checker to monitor the
3134
- # resource that is associated with the new instance.
3135
- #
3136
- # <note markdown="1"> AWS Cloud Map doesn't check the health of the resource
3137
- # directly.
3138
- #
3139
- # </note>
3140
- #
3141
- # 4. The third-party health-checker determines that the resource is
3142
- # unhealthy and notifies your application.
3143
- #
3144
- # 5. Your application submits an `UpdateInstanceCustomHealthStatus`
3145
- # request.
3146
- #
3147
- # 6. AWS Cloud Map waits for (`FailureThreshold` x 30) seconds.
3148
- #
3149
- # 7. If another `UpdateInstanceCustomHealthStatus` request doesn't
3150
- # arrive during that time to change the status back to healthy,
3151
- # AWS Cloud Map stops routing traffic to the resource.
3152
- #
3153
- #
3154
- #
3155
- # [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_UpdateInstanceCustomHealthStatus.html
3156
3412
  # @return [Types::HealthCheckCustomConfig]
3157
3413
  #
3158
3414
  # @!attribute [rw] create_date
@@ -3176,7 +3432,7 @@ module Aws::ServiceDiscovery
3176
3432
  include Aws::Structure
3177
3433
  end
3178
3434
 
3179
- # A custom key-value pair associated with a resource.
3435
+ # A custom key-value pair that's associated with a resource.
3180
3436
  #
3181
3437
  # @note When making an API call, you may pass Tag
3182
3438
  # data as a hash:
@@ -3191,9 +3447,9 @@ module Aws::ServiceDiscovery
3191
3447
  # @return [String]
3192
3448
  #
3193
3449
  # @!attribute [rw] value
3194
- # The string value associated with the key of the tag. You can set the
3195
- # value of a tag to an empty string, but you can't set the value of a
3196
- # tag to null.
3450
+ # The string value that's associated with the key of the tag. You can
3451
+ # set the value of a tag to an empty string, but you can't set the
3452
+ # value of a tag to null.
3197
3453
  # @return [String]
3198
3454
  #
3199
3455
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/Tag AWS API Documentation
@@ -3291,6 +3547,63 @@ module Aws::ServiceDiscovery
3291
3547
  #
3292
3548
  class UntagResourceResponse < Aws::EmptyStructure; end
3293
3549
 
3550
+ # @note When making an API call, you may pass UpdateHttpNamespaceRequest
3551
+ # data as a hash:
3552
+ #
3553
+ # {
3554
+ # id: "ResourceId", # required
3555
+ # updater_request_id: "ResourceId",
3556
+ # namespace: { # required
3557
+ # description: "ResourceDescription", # required
3558
+ # },
3559
+ # }
3560
+ #
3561
+ # @!attribute [rw] id
3562
+ # The ID of the namespace that you want to update.
3563
+ # @return [String]
3564
+ #
3565
+ # @!attribute [rw] updater_request_id
3566
+ # A unique string that identifies the request and that allows failed
3567
+ # `UpdateHttpNamespace` requests to be retried without the risk of
3568
+ # running the operation twice. `UpdaterRequestId` can be any unique
3569
+ # string (for example, a date/timestamp).
3570
+ #
3571
+ # **A suitable default value is auto-generated.** You should normally
3572
+ # not need to pass this option.
3573
+ # @return [String]
3574
+ #
3575
+ # @!attribute [rw] namespace
3576
+ # Updated properties for the the HTTP namespace.
3577
+ # @return [Types::HttpNamespaceChange]
3578
+ #
3579
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateHttpNamespaceRequest AWS API Documentation
3580
+ #
3581
+ class UpdateHttpNamespaceRequest < Struct.new(
3582
+ :id,
3583
+ :updater_request_id,
3584
+ :namespace)
3585
+ SENSITIVE = []
3586
+ include Aws::Structure
3587
+ end
3588
+
3589
+ # @!attribute [rw] operation_id
3590
+ # A value that you can use to determine whether the request completed
3591
+ # successfully. To get the status of the operation, see
3592
+ # [GetOperation][1].
3593
+ #
3594
+ #
3595
+ #
3596
+ # [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html
3597
+ # @return [String]
3598
+ #
3599
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateHttpNamespaceResponse AWS API Documentation
3600
+ #
3601
+ class UpdateHttpNamespaceResponse < Struct.new(
3602
+ :operation_id)
3603
+ SENSITIVE = []
3604
+ include Aws::Structure
3605
+ end
3606
+
3294
3607
  # @note When making an API call, you may pass UpdateInstanceCustomHealthStatusRequest
3295
3608
  # data as a hash:
3296
3609
  #
@@ -3324,6 +3637,134 @@ module Aws::ServiceDiscovery
3324
3637
  include Aws::Structure
3325
3638
  end
3326
3639
 
3640
+ # @note When making an API call, you may pass UpdatePrivateDnsNamespaceRequest
3641
+ # data as a hash:
3642
+ #
3643
+ # {
3644
+ # id: "ResourceId", # required
3645
+ # updater_request_id: "ResourceId",
3646
+ # namespace: { # required
3647
+ # description: "ResourceDescription",
3648
+ # properties: {
3649
+ # dns_properties: { # required
3650
+ # soa: { # required
3651
+ # ttl: 1, # required
3652
+ # },
3653
+ # },
3654
+ # },
3655
+ # },
3656
+ # }
3657
+ #
3658
+ # @!attribute [rw] id
3659
+ # The ID of the namespace that you want to update.
3660
+ # @return [String]
3661
+ #
3662
+ # @!attribute [rw] updater_request_id
3663
+ # A unique string that identifies the request and that allows failed
3664
+ # `UpdatePrivateDnsNamespace` requests to be retried without the risk
3665
+ # of running the operation twice. `UpdaterRequestId` can be any unique
3666
+ # string (for example, a date/timestamp).
3667
+ #
3668
+ # **A suitable default value is auto-generated.** You should normally
3669
+ # not need to pass this option.
3670
+ # @return [String]
3671
+ #
3672
+ # @!attribute [rw] namespace
3673
+ # Updated properties for the private DNS namespace.
3674
+ # @return [Types::PrivateDnsNamespaceChange]
3675
+ #
3676
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdatePrivateDnsNamespaceRequest AWS API Documentation
3677
+ #
3678
+ class UpdatePrivateDnsNamespaceRequest < Struct.new(
3679
+ :id,
3680
+ :updater_request_id,
3681
+ :namespace)
3682
+ SENSITIVE = []
3683
+ include Aws::Structure
3684
+ end
3685
+
3686
+ # @!attribute [rw] operation_id
3687
+ # A value that you can use to determine whether the request completed
3688
+ # successfully. To get the status of the operation, see
3689
+ # [GetOperation][1].
3690
+ #
3691
+ #
3692
+ #
3693
+ # [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html
3694
+ # @return [String]
3695
+ #
3696
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdatePrivateDnsNamespaceResponse AWS API Documentation
3697
+ #
3698
+ class UpdatePrivateDnsNamespaceResponse < Struct.new(
3699
+ :operation_id)
3700
+ SENSITIVE = []
3701
+ include Aws::Structure
3702
+ end
3703
+
3704
+ # @note When making an API call, you may pass UpdatePublicDnsNamespaceRequest
3705
+ # data as a hash:
3706
+ #
3707
+ # {
3708
+ # id: "ResourceId", # required
3709
+ # updater_request_id: "ResourceId",
3710
+ # namespace: { # required
3711
+ # description: "ResourceDescription",
3712
+ # properties: {
3713
+ # dns_properties: { # required
3714
+ # soa: { # required
3715
+ # ttl: 1, # required
3716
+ # },
3717
+ # },
3718
+ # },
3719
+ # },
3720
+ # }
3721
+ #
3722
+ # @!attribute [rw] id
3723
+ # The ID of the namespace being updated.
3724
+ # @return [String]
3725
+ #
3726
+ # @!attribute [rw] updater_request_id
3727
+ # A unique string that identifies the request and that allows failed
3728
+ # `UpdatePublicDnsNamespace` requests to be retried without the risk
3729
+ # of running the operation twice. `UpdaterRequestId` can be any unique
3730
+ # string (for example, a date/timestamp).
3731
+ #
3732
+ # **A suitable default value is auto-generated.** You should normally
3733
+ # not need to pass this option.
3734
+ # @return [String]
3735
+ #
3736
+ # @!attribute [rw] namespace
3737
+ # Updated properties for the public DNS namespace.
3738
+ # @return [Types::PublicDnsNamespaceChange]
3739
+ #
3740
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdatePublicDnsNamespaceRequest AWS API Documentation
3741
+ #
3742
+ class UpdatePublicDnsNamespaceRequest < Struct.new(
3743
+ :id,
3744
+ :updater_request_id,
3745
+ :namespace)
3746
+ SENSITIVE = []
3747
+ include Aws::Structure
3748
+ end
3749
+
3750
+ # @!attribute [rw] operation_id
3751
+ # A value that you can use to determine whether the request completed
3752
+ # successfully. To get the status of the operation, see
3753
+ # [GetOperation][1].
3754
+ #
3755
+ #
3756
+ #
3757
+ # [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html
3758
+ # @return [String]
3759
+ #
3760
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdatePublicDnsNamespaceResponse AWS API Documentation
3761
+ #
3762
+ class UpdatePublicDnsNamespaceResponse < Struct.new(
3763
+ :operation_id)
3764
+ SENSITIVE = []
3765
+ include Aws::Structure
3766
+ end
3767
+
3327
3768
  # @note When making an API call, you may pass UpdateServiceRequest
3328
3769
  # data as a hash:
3329
3770
  #