aws-sdk-servicediscovery 1.34.0 → 1.38.0

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