aws-sdk-servicediscovery 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,14 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::ServiceDiscovery
9
+ module Errors
10
+
11
+ extend Aws::Errors::DynamicErrors
12
+
13
+ end
14
+ end
@@ -0,0 +1,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::ServiceDiscovery
9
+ class Resource
10
+
11
+ # @param options ({})
12
+ # @option options [Client] :client
13
+ def initialize(options = {})
14
+ @client = options[:client] || Client.new(options)
15
+ end
16
+
17
+ # @return [Client]
18
+ def client
19
+ @client
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,1757 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::ServiceDiscovery
9
+ module Types
10
+
11
+ # @note When making an API call, you may pass CreatePrivateDnsNamespaceRequest
12
+ # data as a hash:
13
+ #
14
+ # {
15
+ # name: "NamespaceName", # required
16
+ # creator_request_id: "ResourceId",
17
+ # description: "ResourceDescription",
18
+ # vpc: "ResourceId", # required
19
+ # }
20
+ #
21
+ # @!attribute [rw] name
22
+ # The name that you want to assign to this namespace. When you create
23
+ # a namespace, Amazon Route 53 automatically creates a hosted zone
24
+ # that has the same name as the namespace.
25
+ # @return [String]
26
+ #
27
+ # @!attribute [rw] creator_request_id
28
+ # An optional parameter that you can use to resolve concurrent
29
+ # creation requests. `CreatorRequestId` helps to determine if a
30
+ # specific client owns the namespace.
31
+ #
32
+ # **A suitable default value is auto-generated.** You should normally
33
+ # not need to pass this option.
34
+ # @return [String]
35
+ #
36
+ # @!attribute [rw] description
37
+ # A description for the namespace.
38
+ # @return [String]
39
+ #
40
+ # @!attribute [rw] vpc
41
+ # The ID of the Amazon VPC that you want to associate the namespace
42
+ # with.
43
+ # @return [String]
44
+ #
45
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreatePrivateDnsNamespaceRequest AWS API Documentation
46
+ #
47
+ class CreatePrivateDnsNamespaceRequest < Struct.new(
48
+ :name,
49
+ :creator_request_id,
50
+ :description,
51
+ :vpc)
52
+ include Aws::Structure
53
+ end
54
+
55
+ # @!attribute [rw] operation_id
56
+ # A value that you can use to determine whether the request completed
57
+ # successfully. To get the status of the operation, see GetOperation.
58
+ # @return [String]
59
+ #
60
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreatePrivateDnsNamespaceResponse AWS API Documentation
61
+ #
62
+ class CreatePrivateDnsNamespaceResponse < Struct.new(
63
+ :operation_id)
64
+ include Aws::Structure
65
+ end
66
+
67
+ # @note When making an API call, you may pass CreatePublicDnsNamespaceRequest
68
+ # data as a hash:
69
+ #
70
+ # {
71
+ # name: "NamespaceName", # required
72
+ # creator_request_id: "ResourceId",
73
+ # description: "ResourceDescription",
74
+ # }
75
+ #
76
+ # @!attribute [rw] name
77
+ # The name that you want to assign to this namespace.
78
+ # @return [String]
79
+ #
80
+ # @!attribute [rw] creator_request_id
81
+ # An optional parameter that you can use to resolve concurrent
82
+ # creation requests. `CreatorRequestId` helps to determine if a
83
+ # specific client owns the namespace.
84
+ #
85
+ # **A suitable default value is auto-generated.** You should normally
86
+ # not need to pass this option.
87
+ # @return [String]
88
+ #
89
+ # @!attribute [rw] description
90
+ # A description for the namespace.
91
+ # @return [String]
92
+ #
93
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreatePublicDnsNamespaceRequest AWS API Documentation
94
+ #
95
+ class CreatePublicDnsNamespaceRequest < Struct.new(
96
+ :name,
97
+ :creator_request_id,
98
+ :description)
99
+ include Aws::Structure
100
+ end
101
+
102
+ # @!attribute [rw] operation_id
103
+ # A value that you can use to determine whether the request completed
104
+ # successfully. To get the status of the operation, see GetOperation.
105
+ # @return [String]
106
+ #
107
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreatePublicDnsNamespaceResponse AWS API Documentation
108
+ #
109
+ class CreatePublicDnsNamespaceResponse < Struct.new(
110
+ :operation_id)
111
+ include Aws::Structure
112
+ end
113
+
114
+ # @note When making an API call, you may pass CreateServiceRequest
115
+ # data as a hash:
116
+ #
117
+ # {
118
+ # name: "ServiceName", # required
119
+ # creator_request_id: "ResourceId",
120
+ # description: "ResourceDescription",
121
+ # dns_config: { # required
122
+ # namespace_id: "ResourceId", # required
123
+ # dns_records: [ # required
124
+ # {
125
+ # type: "SRV", # required, accepts SRV, A, AAAA
126
+ # ttl: 1, # required
127
+ # },
128
+ # ],
129
+ # },
130
+ # health_check_config: {
131
+ # type: "HTTP", # accepts HTTP, HTTPS, TCP
132
+ # resource_path: "ResourcePath",
133
+ # failure_threshold: 1,
134
+ # },
135
+ # }
136
+ #
137
+ # @!attribute [rw] name
138
+ # The name that you want to assign to the service.
139
+ # @return [String]
140
+ #
141
+ # @!attribute [rw] creator_request_id
142
+ # An optional parameter that you can use to resolve concurrent
143
+ # creation requests. `CreatorRequestId` helps to determine if a
144
+ # specific client owns the namespace.
145
+ #
146
+ # **A suitable default value is auto-generated.** You should normally
147
+ # not need to pass this option.
148
+ # @return [String]
149
+ #
150
+ # @!attribute [rw] description
151
+ # A description for the service.
152
+ # @return [String]
153
+ #
154
+ # @!attribute [rw] dns_config
155
+ # A complex type that contains information about the resource record
156
+ # sets that you want Amazon Route 53 to create when you register an
157
+ # instance.
158
+ # @return [Types::DnsConfig]
159
+ #
160
+ # @!attribute [rw] health_check_config
161
+ # *Public DNS namespaces only.* A complex type that contains settings
162
+ # for an optional health check. If you specify settings for a health
163
+ # check, Amazon Route 53 associates the health check with all the
164
+ # resource record sets that you specify in `DnsConfig`.
165
+ #
166
+ # <note markdown="1"> The health check uses 30 seconds as the request interval. This is
167
+ # the number of seconds between the time that each Amazon Route 53
168
+ # health checker gets a response from your endpoint and the time that
169
+ # it sends the next health check request. A health checker in each
170
+ # data center around the world sends your endpoint a health check
171
+ # request every 30 seconds. On average, your endpoint receives a
172
+ # health check request about every two seconds. Health checkers in
173
+ # different data centers don't coordinate with one another, so
174
+ # you'll sometimes see several requests per second followed by a few
175
+ # seconds with no health checks at all.
176
+ #
177
+ # </note>
178
+ #
179
+ # For information about the charges for health checks, see [Amazon
180
+ # Route 53 Pricing][1].
181
+ #
182
+ #
183
+ #
184
+ # [1]: http://aws.amazon.com/route53/pricing
185
+ # @return [Types::HealthCheckConfig]
186
+ #
187
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateServiceRequest AWS API Documentation
188
+ #
189
+ class CreateServiceRequest < Struct.new(
190
+ :name,
191
+ :creator_request_id,
192
+ :description,
193
+ :dns_config,
194
+ :health_check_config)
195
+ include Aws::Structure
196
+ end
197
+
198
+ # @!attribute [rw] service
199
+ # A complex type that contains information about the new service.
200
+ # @return [Types::Service]
201
+ #
202
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateServiceResponse AWS API Documentation
203
+ #
204
+ class CreateServiceResponse < Struct.new(
205
+ :service)
206
+ include Aws::Structure
207
+ end
208
+
209
+ # @note When making an API call, you may pass DeleteNamespaceRequest
210
+ # data as a hash:
211
+ #
212
+ # {
213
+ # id: "ResourceId", # required
214
+ # }
215
+ #
216
+ # @!attribute [rw] id
217
+ # The ID of the namespace that you want to delete.
218
+ # @return [String]
219
+ #
220
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeleteNamespaceRequest AWS API Documentation
221
+ #
222
+ class DeleteNamespaceRequest < Struct.new(
223
+ :id)
224
+ include Aws::Structure
225
+ end
226
+
227
+ # @!attribute [rw] operation_id
228
+ # A value that you can use to determine whether the request completed
229
+ # successfully. To get the status of the operation, see GetOperation.
230
+ # @return [String]
231
+ #
232
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeleteNamespaceResponse AWS API Documentation
233
+ #
234
+ class DeleteNamespaceResponse < Struct.new(
235
+ :operation_id)
236
+ include Aws::Structure
237
+ end
238
+
239
+ # @note When making an API call, you may pass DeleteServiceRequest
240
+ # data as a hash:
241
+ #
242
+ # {
243
+ # id: "ResourceId", # required
244
+ # }
245
+ #
246
+ # @!attribute [rw] id
247
+ # The ID of the service that you want to delete.
248
+ # @return [String]
249
+ #
250
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeleteServiceRequest AWS API Documentation
251
+ #
252
+ class DeleteServiceRequest < Struct.new(
253
+ :id)
254
+ include Aws::Structure
255
+ end
256
+
257
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeleteServiceResponse AWS API Documentation
258
+ #
259
+ class DeleteServiceResponse < Aws::EmptyStructure; end
260
+
261
+ # @note When making an API call, you may pass DeregisterInstanceRequest
262
+ # data as a hash:
263
+ #
264
+ # {
265
+ # service_id: "ResourceId", # required
266
+ # instance_id: "ResourceId", # required
267
+ # }
268
+ #
269
+ # @!attribute [rw] service_id
270
+ # The ID of the service that the instance is associated with.
271
+ # @return [String]
272
+ #
273
+ # @!attribute [rw] instance_id
274
+ # The value that you specified for `Id` in the RegisterInstance
275
+ # request.
276
+ # @return [String]
277
+ #
278
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeregisterInstanceRequest AWS API Documentation
279
+ #
280
+ class DeregisterInstanceRequest < Struct.new(
281
+ :service_id,
282
+ :instance_id)
283
+ include Aws::Structure
284
+ end
285
+
286
+ # @!attribute [rw] operation_id
287
+ # A value that you can use to determine whether the request completed
288
+ # successfully. For more information, see GetOperation.
289
+ # @return [String]
290
+ #
291
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeregisterInstanceResponse AWS API Documentation
292
+ #
293
+ class DeregisterInstanceResponse < Struct.new(
294
+ :operation_id)
295
+ include Aws::Structure
296
+ end
297
+
298
+ # A complex type that contains information about the resource record
299
+ # sets that you want Amazon Route 53 to create when you register an
300
+ # instance.
301
+ #
302
+ # @note When making an API call, you may pass DnsConfig
303
+ # data as a hash:
304
+ #
305
+ # {
306
+ # namespace_id: "ResourceId", # required
307
+ # dns_records: [ # required
308
+ # {
309
+ # type: "SRV", # required, accepts SRV, A, AAAA
310
+ # ttl: 1, # required
311
+ # },
312
+ # ],
313
+ # }
314
+ #
315
+ # @!attribute [rw] namespace_id
316
+ # The ID of the namespace to use for DNS configuration.
317
+ # @return [String]
318
+ #
319
+ # @!attribute [rw] dns_records
320
+ # An array that contains one `DnsRecord` object for each resource
321
+ # record set that you want Amazon Route 53 to create when you register
322
+ # an instance.
323
+ # @return [Array<Types::DnsRecord>]
324
+ #
325
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsConfig AWS API Documentation
326
+ #
327
+ class DnsConfig < Struct.new(
328
+ :namespace_id,
329
+ :dns_records)
330
+ include Aws::Structure
331
+ end
332
+
333
+ # A complex type that contains information about changes to the resource
334
+ # record sets that Amazon Route 53 creates when you register an
335
+ # instance.
336
+ #
337
+ # @note When making an API call, you may pass DnsConfigChange
338
+ # data as a hash:
339
+ #
340
+ # {
341
+ # dns_records: [ # required
342
+ # {
343
+ # type: "SRV", # required, accepts SRV, A, AAAA
344
+ # ttl: 1, # required
345
+ # },
346
+ # ],
347
+ # }
348
+ #
349
+ # @!attribute [rw] dns_records
350
+ # An array that contains one `DnsRecord` object for each resource
351
+ # record set that you want Amazon Route 53 to create when you register
352
+ # an instance.
353
+ # @return [Array<Types::DnsRecord>]
354
+ #
355
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsConfigChange AWS API Documentation
356
+ #
357
+ class DnsConfigChange < Struct.new(
358
+ :dns_records)
359
+ include Aws::Structure
360
+ end
361
+
362
+ # A complex type that contains the ID for the hosted zone that Amazon
363
+ # Route 53 creates when you create a namespace.
364
+ #
365
+ # @!attribute [rw] hosted_zone_id
366
+ # The ID for the hosted zone that Amazon Route 53 creates when you
367
+ # create a namespace.
368
+ # @return [String]
369
+ #
370
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsProperties AWS API Documentation
371
+ #
372
+ class DnsProperties < Struct.new(
373
+ :hosted_zone_id)
374
+ include Aws::Structure
375
+ end
376
+
377
+ # A complex type that contains information about the resource record
378
+ # sets that you want Amazon Route 53 to create when you register an
379
+ # instance.
380
+ #
381
+ # @note When making an API call, you may pass DnsRecord
382
+ # data as a hash:
383
+ #
384
+ # {
385
+ # type: "SRV", # required, accepts SRV, A, AAAA
386
+ # ttl: 1, # required
387
+ # }
388
+ #
389
+ # @!attribute [rw] type
390
+ # The type of the resource, which indicates the value that Amazon
391
+ # Route 53 returns in response to DNS queries. The following values
392
+ # are supported:
393
+ #
394
+ # * **A**\: Amazon Route 53 returns the IP address of the resource in
395
+ # IPv4 format, such as 192.0.2.44.
396
+ #
397
+ # * **AAAA**\: Amazon Route 53 returns the IP address of the resource
398
+ # in IPv6 format, such as 2001:0db8:85a3:0000:0000:abcd:0001:2345.
399
+ #
400
+ # * **SRV**\: Amazon Route 53 returns the value for an SRV record. The
401
+ # value for an SRV record uses the following template, which can't
402
+ # be changed:
403
+ #
404
+ # `priority weight port resource-record-set-name`
405
+ #
406
+ # The values of `priority` and `weight` are both set to 1. The value
407
+ # of port comes from the value that you specify for `Port` when you
408
+ # submit a RegisterInstance request.
409
+ # @return [String]
410
+ #
411
+ # @!attribute [rw] ttl
412
+ # The amount of time, in seconds, that you want DNS resolvers to cache
413
+ # the settings for this resource record set.
414
+ # @return [Integer]
415
+ #
416
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsRecord AWS API Documentation
417
+ #
418
+ class DnsRecord < Struct.new(
419
+ :type,
420
+ :ttl)
421
+ include Aws::Structure
422
+ end
423
+
424
+ # @note When making an API call, you may pass GetInstanceRequest
425
+ # data as a hash:
426
+ #
427
+ # {
428
+ # service_id: "ResourceId", # required
429
+ # instance_id: "ResourceId", # required
430
+ # }
431
+ #
432
+ # @!attribute [rw] service_id
433
+ # The ID of the service that the instance is associated with.
434
+ # @return [String]
435
+ #
436
+ # @!attribute [rw] instance_id
437
+ # The ID of the instance that you want to get information about.
438
+ # @return [String]
439
+ #
440
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetInstanceRequest AWS API Documentation
441
+ #
442
+ class GetInstanceRequest < Struct.new(
443
+ :service_id,
444
+ :instance_id)
445
+ include Aws::Structure
446
+ end
447
+
448
+ # @!attribute [rw] instance
449
+ # A complex type that contains information about a specified instance.
450
+ # @return [Types::Instance]
451
+ #
452
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetInstanceResponse AWS API Documentation
453
+ #
454
+ class GetInstanceResponse < Struct.new(
455
+ :instance)
456
+ include Aws::Structure
457
+ end
458
+
459
+ # @note When making an API call, you may pass GetInstancesHealthStatusRequest
460
+ # data as a hash:
461
+ #
462
+ # {
463
+ # service_id: "ResourceId", # required
464
+ # instances: ["ResourceId"],
465
+ # max_results: 1,
466
+ # next_token: "NextToken",
467
+ # }
468
+ #
469
+ # @!attribute [rw] service_id
470
+ # The ID of the service that the instance is associated with.
471
+ # @return [String]
472
+ #
473
+ # @!attribute [rw] instances
474
+ # An array that contains the IDs of all the instances that you want to
475
+ # get the health status for. To get the IDs for the instances that
476
+ # you've created by using a specified service, submit a ListInstances
477
+ # request.
478
+ #
479
+ # If you omit `Instances`, Amazon Route 53 returns the health status
480
+ # for all the instances that are associated with the specified
481
+ # service.
482
+ # @return [Array<String>]
483
+ #
484
+ # @!attribute [rw] max_results
485
+ # The maximum number of instances that you want Amazon Route 53 to
486
+ # return in the response to a `GetInstancesHealthStatus` request. If
487
+ # you don't specify a value for `MaxResults`, Amazon Route 53 returns
488
+ # up to 100 instances.
489
+ # @return [Integer]
490
+ #
491
+ # @!attribute [rw] next_token
492
+ # For the first `GetInstancesHealthStatus` request, omit this value.
493
+ #
494
+ # If more than `MaxResults` instances match the specified criteria,
495
+ # you can submit another `GetInstancesHealthStatus` request to get the
496
+ # next group of results. Specify the value of `NextToken` from the
497
+ # previous response in the next request.
498
+ # @return [String]
499
+ #
500
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetInstancesHealthStatusRequest AWS API Documentation
501
+ #
502
+ class GetInstancesHealthStatusRequest < Struct.new(
503
+ :service_id,
504
+ :instances,
505
+ :max_results,
506
+ :next_token)
507
+ include Aws::Structure
508
+ end
509
+
510
+ # @!attribute [rw] status
511
+ # A complex type that contains the IDs and the health status of the
512
+ # instances that you specified in the `GetInstancesHealthStatus`
513
+ # request.
514
+ # @return [Hash<String,String>]
515
+ #
516
+ # @!attribute [rw] next_token
517
+ # If more than `MaxResults` instances match the specified criteria,
518
+ # you can submit another `GetInstancesHealthStatus` request to get the
519
+ # next group of results. Specify the value of `NextToken` from the
520
+ # previous response in the next request.
521
+ # @return [String]
522
+ #
523
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetInstancesHealthStatusResponse AWS API Documentation
524
+ #
525
+ class GetInstancesHealthStatusResponse < Struct.new(
526
+ :status,
527
+ :next_token)
528
+ include Aws::Structure
529
+ end
530
+
531
+ # @note When making an API call, you may pass GetNamespaceRequest
532
+ # data as a hash:
533
+ #
534
+ # {
535
+ # id: "ResourceId", # required
536
+ # }
537
+ #
538
+ # @!attribute [rw] id
539
+ # The ID of the namespace that you want to get information about.
540
+ # @return [String]
541
+ #
542
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetNamespaceRequest AWS API Documentation
543
+ #
544
+ class GetNamespaceRequest < Struct.new(
545
+ :id)
546
+ include Aws::Structure
547
+ end
548
+
549
+ # @!attribute [rw] namespace
550
+ # A complex type that contains information about the specified
551
+ # namespace.
552
+ # @return [Types::Namespace]
553
+ #
554
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetNamespaceResponse AWS API Documentation
555
+ #
556
+ class GetNamespaceResponse < Struct.new(
557
+ :namespace)
558
+ include Aws::Structure
559
+ end
560
+
561
+ # @note When making an API call, you may pass GetOperationRequest
562
+ # data as a hash:
563
+ #
564
+ # {
565
+ # operation_id: "ResourceId", # required
566
+ # }
567
+ #
568
+ # @!attribute [rw] operation_id
569
+ # The ID of the operation that you want to get more information about.
570
+ # @return [String]
571
+ #
572
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetOperationRequest AWS API Documentation
573
+ #
574
+ class GetOperationRequest < Struct.new(
575
+ :operation_id)
576
+ include Aws::Structure
577
+ end
578
+
579
+ # @!attribute [rw] operation
580
+ # A complex type that contains information about the operation.
581
+ # @return [Types::Operation]
582
+ #
583
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetOperationResponse AWS API Documentation
584
+ #
585
+ class GetOperationResponse < Struct.new(
586
+ :operation)
587
+ include Aws::Structure
588
+ end
589
+
590
+ # @note When making an API call, you may pass GetServiceRequest
591
+ # data as a hash:
592
+ #
593
+ # {
594
+ # id: "ResourceId", # required
595
+ # }
596
+ #
597
+ # @!attribute [rw] id
598
+ # The ID of the service that you want to get settings for.
599
+ # @return [String]
600
+ #
601
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetServiceRequest AWS API Documentation
602
+ #
603
+ class GetServiceRequest < Struct.new(
604
+ :id)
605
+ include Aws::Structure
606
+ end
607
+
608
+ # @!attribute [rw] service
609
+ # A complex type that contains information about the service.
610
+ # @return [Types::Service]
611
+ #
612
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetServiceResponse AWS API Documentation
613
+ #
614
+ class GetServiceResponse < Struct.new(
615
+ :service)
616
+ include Aws::Structure
617
+ end
618
+
619
+ # *Public DNS namespaces only.* A complex type that contains settings
620
+ # for an optional health check. If you specify settings for a health
621
+ # check, Amazon Route 53 associates the health check with all the
622
+ # resource record sets that you specify in `DnsConfig`.
623
+ #
624
+ # <note markdown="1"> The health check uses 30 seconds as the request interval. This is the
625
+ # number of seconds between the time that each Amazon Route 53 health
626
+ # checker gets a response from your endpoint and the time that it sends
627
+ # the next health check request. A health checker in each data center
628
+ # around the world sends your endpoint a health check request every 30
629
+ # seconds. On average, your endpoint receives a health check request
630
+ # about every two seconds. Health checkers in different data centers
631
+ # don't coordinate with one another, so you'll sometimes see several
632
+ # requests per second followed by a few seconds with no health checks at
633
+ # all.
634
+ #
635
+ # </note>
636
+ #
637
+ # For information about the charges for health checks, see [Amazon Route
638
+ # 53 Pricing][1].
639
+ #
640
+ #
641
+ #
642
+ # [1]: http://aws.amazon.com/route53/pricing
643
+ #
644
+ # @note When making an API call, you may pass HealthCheckConfig
645
+ # data as a hash:
646
+ #
647
+ # {
648
+ # type: "HTTP", # accepts HTTP, HTTPS, TCP
649
+ # resource_path: "ResourcePath",
650
+ # failure_threshold: 1,
651
+ # }
652
+ #
653
+ # @!attribute [rw] type
654
+ # The type of health check that you want to create, which indicates
655
+ # how Amazon Route 53 determines whether an endpoint is healthy.
656
+ #
657
+ # You can't change the value of `Type` after you create a health
658
+ # check.
659
+ #
660
+ # You can create the following types of health checks:
661
+ #
662
+ # * **HTTP**\: Amazon Route 53 tries to establish a TCP connection. If
663
+ # successful, Amazon Route 53 submits an HTTP request and waits for
664
+ # an HTTP status code of 200 or greater and less than 400.
665
+ #
666
+ # * **HTTPS**\: Amazon Route 53 tries to establish a TCP connection.
667
+ # If successful, Amazon Route 53 submits an HTTPS request and waits
668
+ # for an HTTP status code of 200 or greater and less than 400.
669
+ #
670
+ # If you specify HTTPS for the value of `Type`, the endpoint must
671
+ # support TLS v1.0 or later.
672
+ #
673
+ # * **TCP**\: Amazon Route 53 tries to establish a TCP connection.
674
+ #
675
+ # For more information, see [How Amazon Route 53 Determines Whether an
676
+ # Endpoint Is Healthy][1] in the *Amazon Route 53 Developer Guide*.
677
+ #
678
+ #
679
+ #
680
+ # [1]: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html
681
+ # @return [String]
682
+ #
683
+ # @!attribute [rw] resource_path
684
+ # The path that you want Amazon Route 53 to request when performing
685
+ # health checks. The path can be any value for which your endpoint
686
+ # will return an HTTP status code of 2xx or 3xx when the endpoint is
687
+ # healthy, such as the file `/docs/route53-health-check.html`. Amazon
688
+ # Route 53 automatically adds the DNS name for the service and a
689
+ # leading forward slash (`/`) character.
690
+ # @return [String]
691
+ #
692
+ # @!attribute [rw] failure_threshold
693
+ # The number of consecutive health checks that an endpoint must pass
694
+ # or fail for Amazon Route 53 to change the current status of the
695
+ # endpoint from unhealthy to healthy or vice versa. For more
696
+ # information, see [How Amazon Route 53 Determines Whether an Endpoint
697
+ # Is Healthy][1] in the *Amazon Route 53 Developer Guide*.
698
+ #
699
+ #
700
+ #
701
+ # [1]: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html
702
+ # @return [Integer]
703
+ #
704
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/HealthCheckConfig AWS API Documentation
705
+ #
706
+ class HealthCheckConfig < Struct.new(
707
+ :type,
708
+ :resource_path,
709
+ :failure_threshold)
710
+ include Aws::Structure
711
+ end
712
+
713
+ # A complex type that contains information about an instance that Amazon
714
+ # Route 53 creates when you submit a `RegisterInstance` request.
715
+ #
716
+ # @!attribute [rw] id
717
+ # An identifier that you want to associate with the instance. Note the
718
+ # following:
719
+ #
720
+ # * You can use this value to update an existing instance.
721
+ #
722
+ # * To associate a new instance, you must specify a value that is
723
+ # unique among instances that you associate by using the same
724
+ # service.
725
+ # @return [String]
726
+ #
727
+ # @!attribute [rw] creator_request_id
728
+ # An optional parameter that you can use to resolve concurrent
729
+ # creation requests. `CreatorRequestId` helps to determine if a
730
+ # specific client owns the namespace.
731
+ # @return [String]
732
+ #
733
+ # @!attribute [rw] attributes
734
+ # A string map that contains attribute keys and values. Supported
735
+ # attribute keys include the following:
736
+ #
737
+ # * `AWS_INSTANCE_PORT`\: The port on the endpoint that you want
738
+ # Amazon Route 53 to perform health checks on. This value is also
739
+ # used for the port value in an SRV record if the service that you
740
+ # specify includes an SRV record. For more information, see
741
+ # CreateService.
742
+ #
743
+ # * `AWS_INSTANCE_IP`\: If the service that you specify contains a
744
+ # resource record set template for an A or AAAA record, the IP
745
+ # address that you want Amazon Route 53 to use for the value of the
746
+ # A record.
747
+ #
748
+ # * `AWS_INSTANCE_WEIGHT`\: The weight value in an SRV record if the
749
+ # service that you specify includes an SRV record. You can also
750
+ # specify a default weight that is applied to all instances in the
751
+ # `Service` configuration. For more information, see CreateService.
752
+ #
753
+ # * `AWS_INSTANCE_PRIORITY`\: The priority value in an SRV record if
754
+ # the service that you specify includes an SRV record.
755
+ # @return [Hash<String,String>]
756
+ #
757
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/Instance AWS API Documentation
758
+ #
759
+ class Instance < Struct.new(
760
+ :id,
761
+ :creator_request_id,
762
+ :attributes)
763
+ include Aws::Structure
764
+ end
765
+
766
+ # A complex type that contains information about the instances that you
767
+ # created by using a specified service.
768
+ #
769
+ # @!attribute [rw] id
770
+ # The ID for an instance that you created by using a specified
771
+ # service.
772
+ # @return [String]
773
+ #
774
+ # @!attribute [rw] attributes
775
+ # A string map that contain attribute keys and values for an instance.
776
+ # Supported attribute keys include the following:
777
+ #
778
+ # * `AWS_INSTANCE_PORT`\: The port on the endpoint that you want
779
+ # Amazon Route 53 to perform health checks on. This value is also
780
+ # used for the port value in an SRV record if the service that you
781
+ # specify includes an SRV record. For more information, see
782
+ # CreateService.
783
+ #
784
+ # * `AWS_INSTANCE_IP`\: If the service that you specify contains a
785
+ # resource record set template for an A or AAAA record, the IP
786
+ # address that you want Amazon Route 53 to use for the value of the
787
+ # A record.
788
+ # @return [Hash<String,String>]
789
+ #
790
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/InstanceSummary AWS API Documentation
791
+ #
792
+ class InstanceSummary < Struct.new(
793
+ :id,
794
+ :attributes)
795
+ include Aws::Structure
796
+ end
797
+
798
+ # @note When making an API call, you may pass ListInstancesRequest
799
+ # data as a hash:
800
+ #
801
+ # {
802
+ # service_id: "ResourceId", # required
803
+ # next_token: "NextToken",
804
+ # max_results: 1,
805
+ # }
806
+ #
807
+ # @!attribute [rw] service_id
808
+ # The ID of the service that you want to list instances for.
809
+ # @return [String]
810
+ #
811
+ # @!attribute [rw] next_token
812
+ # For the first `ListInstances` request, omit this value.
813
+ #
814
+ # If more than `MaxResults` instances match the specified criteria,
815
+ # you can submit another `ListInstances` request to get the next group
816
+ # of results. Specify the value of `NextToken` from the previous
817
+ # response in the next request.
818
+ # @return [String]
819
+ #
820
+ # @!attribute [rw] max_results
821
+ # The maximum number of instances that you want Amazon Route 53 to
822
+ # return in the response to a `ListInstances` request. If you don't
823
+ # specify a value for `MaxResults`, Amazon Route 53 returns up to 100
824
+ # instances.
825
+ # @return [Integer]
826
+ #
827
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListInstancesRequest AWS API Documentation
828
+ #
829
+ class ListInstancesRequest < Struct.new(
830
+ :service_id,
831
+ :next_token,
832
+ :max_results)
833
+ include Aws::Structure
834
+ end
835
+
836
+ # @!attribute [rw] instances
837
+ # Summary information about the instances that are associated with the
838
+ # specified service.
839
+ # @return [Array<Types::InstanceSummary>]
840
+ #
841
+ # @!attribute [rw] next_token
842
+ # If more than `MaxResults` instances match the specified criteria,
843
+ # you can submit another `ListInstances` request to get the next group
844
+ # of results. Specify the value of `NextToken` from the previous
845
+ # response in the next request.
846
+ # @return [String]
847
+ #
848
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListInstancesResponse AWS API Documentation
849
+ #
850
+ class ListInstancesResponse < Struct.new(
851
+ :instances,
852
+ :next_token)
853
+ include Aws::Structure
854
+ end
855
+
856
+ # @note When making an API call, you may pass ListNamespacesRequest
857
+ # data as a hash:
858
+ #
859
+ # {
860
+ # next_token: "NextToken",
861
+ # max_results: 1,
862
+ # filters: [
863
+ # {
864
+ # name: "TYPE", # required, accepts TYPE
865
+ # values: ["FilterValue"], # required
866
+ # condition: "EQ", # accepts EQ, IN, BETWEEN
867
+ # },
868
+ # ],
869
+ # }
870
+ #
871
+ # @!attribute [rw] next_token
872
+ # For the first `ListNamespaces` request, omit this value.
873
+ #
874
+ # If more than `MaxResults` namespaces match the specified criteria,
875
+ # you can submit another `ListNamespaces` request to get the next
876
+ # group of results. Specify the value of `NextToken` from the previous
877
+ # response in the next request.
878
+ # @return [String]
879
+ #
880
+ # @!attribute [rw] max_results
881
+ # The maximum number of namespaces that you want Amazon Route 53 to
882
+ # return in the response to a `ListNamespaces` request. If you don't
883
+ # specify a value for `MaxResults`, Amazon Route 53 returns up to 100
884
+ # namespaces.
885
+ # @return [Integer]
886
+ #
887
+ # @!attribute [rw] filters
888
+ # A complex type that contains specifications for the namespaces that
889
+ # you want to list.
890
+ #
891
+ # If you specify more than one filter, an operation must match all
892
+ # filters to be returned by ListNamespaces.
893
+ # @return [Array<Types::NamespaceFilter>]
894
+ #
895
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListNamespacesRequest AWS API Documentation
896
+ #
897
+ class ListNamespacesRequest < Struct.new(
898
+ :next_token,
899
+ :max_results,
900
+ :filters)
901
+ include Aws::Structure
902
+ end
903
+
904
+ # @!attribute [rw] namespaces
905
+ # An array that contains one `NamespaceSummary` object for each
906
+ # namespace that matches the specified filter criteria.
907
+ # @return [Array<Types::NamespaceSummary>]
908
+ #
909
+ # @!attribute [rw] next_token
910
+ # If more than `MaxResults` namespaces match the specified criteria,
911
+ # you can submit another `ListNamespaces` request to get the next
912
+ # group of results. Specify the value of `NextToken` from the previous
913
+ # response in the next request.
914
+ # @return [String]
915
+ #
916
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListNamespacesResponse AWS API Documentation
917
+ #
918
+ class ListNamespacesResponse < Struct.new(
919
+ :namespaces,
920
+ :next_token)
921
+ include Aws::Structure
922
+ end
923
+
924
+ # @note When making an API call, you may pass ListOperationsRequest
925
+ # data as a hash:
926
+ #
927
+ # {
928
+ # next_token: "NextToken",
929
+ # max_results: 1,
930
+ # filters: [
931
+ # {
932
+ # name: "NAMESPACE_ID", # required, accepts NAMESPACE_ID, SERVICE_ID, STATUS, TYPE, UPDATE_DATE
933
+ # values: ["FilterValue"], # required
934
+ # condition: "EQ", # accepts EQ, IN, BETWEEN
935
+ # },
936
+ # ],
937
+ # }
938
+ #
939
+ # @!attribute [rw] next_token
940
+ # For the first `ListOperations` request, omit this value.
941
+ #
942
+ # If more than `MaxResults` operations match the specified criteria,
943
+ # you can submit another `ListOperations` request to get the next
944
+ # group of results. Specify the value of `NextToken` from the previous
945
+ # response in the next request.
946
+ # @return [String]
947
+ #
948
+ # @!attribute [rw] max_results
949
+ # The maximum number of items that you want Amazon Route 53 to return
950
+ # in the response to a `ListOperations` request. If you don't specify
951
+ # a value for `MaxResults`, Amazon Route 53 returns up to 100
952
+ # operations.
953
+ # @return [Integer]
954
+ #
955
+ # @!attribute [rw] filters
956
+ # A complex type that contains specifications for the operations that
957
+ # you want to list, for example, operations that you started between a
958
+ # specified start date and end date.
959
+ #
960
+ # If you specify more than one filter, an operation must match all
961
+ # filters to be returned by `ListOperations`.
962
+ # @return [Array<Types::OperationFilter>]
963
+ #
964
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListOperationsRequest AWS API Documentation
965
+ #
966
+ class ListOperationsRequest < Struct.new(
967
+ :next_token,
968
+ :max_results,
969
+ :filters)
970
+ include Aws::Structure
971
+ end
972
+
973
+ # @!attribute [rw] operations
974
+ # Summary information about the operations that match the specified
975
+ # criteria.
976
+ # @return [Array<Types::OperationSummary>]
977
+ #
978
+ # @!attribute [rw] next_token
979
+ # If more than `MaxResults` operations match the specified criteria,
980
+ # you can submit another `ListOperations` request to get the next
981
+ # group of results. Specify the value of `NextToken` from the previous
982
+ # response in the next request.
983
+ # @return [String]
984
+ #
985
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListOperationsResponse AWS API Documentation
986
+ #
987
+ class ListOperationsResponse < Struct.new(
988
+ :operations,
989
+ :next_token)
990
+ include Aws::Structure
991
+ end
992
+
993
+ # @note When making an API call, you may pass ListServicesRequest
994
+ # data as a hash:
995
+ #
996
+ # {
997
+ # next_token: "NextToken",
998
+ # max_results: 1,
999
+ # filters: [
1000
+ # {
1001
+ # name: "NAMESPACE_ID", # required, accepts NAMESPACE_ID
1002
+ # values: ["FilterValue"], # required
1003
+ # condition: "EQ", # accepts EQ, IN, BETWEEN
1004
+ # },
1005
+ # ],
1006
+ # }
1007
+ #
1008
+ # @!attribute [rw] next_token
1009
+ # For the first `ListServices` request, omit this value.
1010
+ #
1011
+ # If more than `MaxResults` services match the specified criteria, you
1012
+ # can submit another `ListServices` request to get the next group of
1013
+ # results. Specify the value of `NextToken` from the previous response
1014
+ # in the next request.
1015
+ # @return [String]
1016
+ #
1017
+ # @!attribute [rw] max_results
1018
+ # The maximum number of services that you want Amazon Route 53 to
1019
+ # return in the response to a `ListServices` request. If you don't
1020
+ # specify a value for `MaxResults`, Amazon Route 53 returns up to 100
1021
+ # services.
1022
+ # @return [Integer]
1023
+ #
1024
+ # @!attribute [rw] filters
1025
+ # A complex type that contains specifications for the namespaces that
1026
+ # you want to list services for.
1027
+ #
1028
+ # If you specify more than one filter, an operation must match all
1029
+ # filters to be returned by `ListServices`.
1030
+ # @return [Array<Types::ServiceFilter>]
1031
+ #
1032
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListServicesRequest AWS API Documentation
1033
+ #
1034
+ class ListServicesRequest < Struct.new(
1035
+ :next_token,
1036
+ :max_results,
1037
+ :filters)
1038
+ include Aws::Structure
1039
+ end
1040
+
1041
+ # @!attribute [rw] services
1042
+ # An array that contains one `ServiceSummary` object for each service
1043
+ # that matches the specified filter criteria.
1044
+ # @return [Array<Types::ServiceSummary>]
1045
+ #
1046
+ # @!attribute [rw] next_token
1047
+ # If more than `MaxResults` operations match the specified criteria,
1048
+ # the value of `NextToken` is the first service in the next group of
1049
+ # services that were created by the current AWS account. To get the
1050
+ # next group, specify the value of `NextToken` from the previous
1051
+ # response in the next request.
1052
+ # @return [String]
1053
+ #
1054
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListServicesResponse AWS API Documentation
1055
+ #
1056
+ class ListServicesResponse < Struct.new(
1057
+ :services,
1058
+ :next_token)
1059
+ include Aws::Structure
1060
+ end
1061
+
1062
+ # A complex type that contains information about a specified namespace.
1063
+ #
1064
+ # @!attribute [rw] id
1065
+ # The ID of a namespace.
1066
+ # @return [String]
1067
+ #
1068
+ # @!attribute [rw] arn
1069
+ # The Amazon Resource Name (ARN) that Amazon Route 53 assigns to the
1070
+ # namespace when you create it.
1071
+ # @return [String]
1072
+ #
1073
+ # @!attribute [rw] name
1074
+ # The name of the namespace, such as `example.com`.
1075
+ # @return [String]
1076
+ #
1077
+ # @!attribute [rw] type
1078
+ # The type of the namespace. Valid values are `DNS_PUBLIC` and
1079
+ # `DNS_PRIVATE`.
1080
+ # @return [String]
1081
+ #
1082
+ # @!attribute [rw] description
1083
+ # The description that you specify for the namespace when you create
1084
+ # it.
1085
+ # @return [String]
1086
+ #
1087
+ # @!attribute [rw] service_count
1088
+ # The number of services that are associated with the namespace.
1089
+ # @return [Integer]
1090
+ #
1091
+ # @!attribute [rw] properties
1092
+ # A complex type that contains information that's specific to the
1093
+ # type of the namespace.
1094
+ # @return [Types::NamespaceProperties]
1095
+ #
1096
+ # @!attribute [rw] create_date
1097
+ # The date that the namespace was created, in Unix date/time format
1098
+ # and Coordinated Universal Time (UTC).
1099
+ # @return [Time]
1100
+ #
1101
+ # @!attribute [rw] creator_request_id
1102
+ # An optional parameter that you can use to resolve concurrent
1103
+ # creation requests. `CreatorRequestId` helps to determine if a
1104
+ # specific client owns the namespace.
1105
+ # @return [String]
1106
+ #
1107
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/Namespace AWS API Documentation
1108
+ #
1109
+ class Namespace < Struct.new(
1110
+ :id,
1111
+ :arn,
1112
+ :name,
1113
+ :type,
1114
+ :description,
1115
+ :service_count,
1116
+ :properties,
1117
+ :create_date,
1118
+ :creator_request_id)
1119
+ include Aws::Structure
1120
+ end
1121
+
1122
+ # A complex type that identifies the namespaces that you want to list.
1123
+ # You can choose to list public or private namespaces.
1124
+ #
1125
+ # @note When making an API call, you may pass NamespaceFilter
1126
+ # data as a hash:
1127
+ #
1128
+ # {
1129
+ # name: "TYPE", # required, accepts TYPE
1130
+ # values: ["FilterValue"], # required
1131
+ # condition: "EQ", # accepts EQ, IN, BETWEEN
1132
+ # }
1133
+ #
1134
+ # @!attribute [rw] name
1135
+ # Specify `TYPE`.
1136
+ # @return [String]
1137
+ #
1138
+ # @!attribute [rw] values
1139
+ # If you specify `EQ` for `Condition`, specify either `DNS_PUBLIC` or
1140
+ # `DNS_PRIVATE`.
1141
+ #
1142
+ # If you specify `IN` for `Condition`, you can specify `DNS_PUBLIC`,
1143
+ # `DNS_PRIVATE`, or both.
1144
+ # @return [Array<String>]
1145
+ #
1146
+ # @!attribute [rw] condition
1147
+ # The operator that you want to use to determine whether
1148
+ # `ListNamespaces` returns a namespace. Valid values for `condition`
1149
+ # include:
1150
+ #
1151
+ # * `EQ`\: When you specify `EQ` for the condition, you can choose to
1152
+ # list only public namespaces or private namespaces, but not both.
1153
+ # `EQ` is the default condition and can be omitted.
1154
+ #
1155
+ # * `IN`\: When you specify `IN` for the condition, you can choose to
1156
+ # list public namespaces, private namespaces, or both.
1157
+ # @return [String]
1158
+ #
1159
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/NamespaceFilter AWS API Documentation
1160
+ #
1161
+ class NamespaceFilter < Struct.new(
1162
+ :name,
1163
+ :values,
1164
+ :condition)
1165
+ include Aws::Structure
1166
+ end
1167
+
1168
+ # A complex type that contains information that is specific to the
1169
+ # namespace type.
1170
+ #
1171
+ # @!attribute [rw] dns_properties
1172
+ # A complex type that contains the ID for the hosted zone that Amazon
1173
+ # Route 53 creates when you create a namespace.
1174
+ # @return [Types::DnsProperties]
1175
+ #
1176
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/NamespaceProperties AWS API Documentation
1177
+ #
1178
+ class NamespaceProperties < Struct.new(
1179
+ :dns_properties)
1180
+ include Aws::Structure
1181
+ end
1182
+
1183
+ # A complex type that contains information about a namespace.
1184
+ #
1185
+ # @!attribute [rw] id
1186
+ # The ID of the namespace.
1187
+ # @return [String]
1188
+ #
1189
+ # @!attribute [rw] arn
1190
+ # The Amazon Resource Name (ARN) that Amazon Route 53 assigns to the
1191
+ # namespace when you create it.
1192
+ # @return [String]
1193
+ #
1194
+ # @!attribute [rw] name
1195
+ # The name of the namespace. When you create a namespace, Amazon Route
1196
+ # 53 automatically creates a hosted zone that has the same name as the
1197
+ # namespace.
1198
+ # @return [String]
1199
+ #
1200
+ # @!attribute [rw] type
1201
+ # The type of the namespace, either public or private.
1202
+ # @return [String]
1203
+ #
1204
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/NamespaceSummary AWS API Documentation
1205
+ #
1206
+ class NamespaceSummary < Struct.new(
1207
+ :id,
1208
+ :arn,
1209
+ :name,
1210
+ :type)
1211
+ include Aws::Structure
1212
+ end
1213
+
1214
+ # A complex type that contains information about a specified operation.
1215
+ #
1216
+ # @!attribute [rw] id
1217
+ # The ID of the operation that you want to get information about.
1218
+ # @return [String]
1219
+ #
1220
+ # @!attribute [rw] type
1221
+ # The name of the operation that is associated with the specified ID.
1222
+ # @return [String]
1223
+ #
1224
+ # @!attribute [rw] status
1225
+ # The status of the operation. Values include the following:
1226
+ #
1227
+ # * **SUBMITTED**\: This is the initial state immediately after you
1228
+ # submit a request.
1229
+ #
1230
+ # * **PENDING**\: Amazon Route 53 is performing the operation.
1231
+ #
1232
+ # * **SUCCESS**\: The operation succeeded.
1233
+ #
1234
+ # * **FAIL**\: The operation failed. For the failure reason, see
1235
+ # `ErrorMessage`.
1236
+ # @return [String]
1237
+ #
1238
+ # @!attribute [rw] error_message
1239
+ # If the value of `Status` is `FAIL`, the reason that the operation
1240
+ # failed.
1241
+ # @return [String]
1242
+ #
1243
+ # @!attribute [rw] error_code
1244
+ # The code associated with `ErrorMessage`.
1245
+ # @return [String]
1246
+ #
1247
+ # @!attribute [rw] create_date
1248
+ # The date and time that the request was submitted, in Unix date/time
1249
+ # format and Coordinated Universal Time (UTC).
1250
+ # @return [Time]
1251
+ #
1252
+ # @!attribute [rw] update_date
1253
+ # The date and time that the value of `Status` changed to the current
1254
+ # value, in Unix date/time format and Coordinated Universal Time
1255
+ # (UTC).
1256
+ # @return [Time]
1257
+ #
1258
+ # @!attribute [rw] targets
1259
+ # The name of the target entity that is associated with the operation:
1260
+ #
1261
+ # * **NAMESPACE**\: The namespace ID is returned in the `ResourceId`
1262
+ # property.
1263
+ #
1264
+ # * **SERVICE**\: The service ID is returned in the `ResourceId`
1265
+ # property.
1266
+ #
1267
+ # * **INSTANCE**\: The instance ID is returned in the `ResourceId`
1268
+ # property.
1269
+ # @return [Hash<String,String>]
1270
+ #
1271
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/Operation AWS API Documentation
1272
+ #
1273
+ class Operation < Struct.new(
1274
+ :id,
1275
+ :type,
1276
+ :status,
1277
+ :error_message,
1278
+ :error_code,
1279
+ :create_date,
1280
+ :update_date,
1281
+ :targets)
1282
+ include Aws::Structure
1283
+ end
1284
+
1285
+ # A complex type that lets you select the operations that you want to
1286
+ # list.
1287
+ #
1288
+ # @note When making an API call, you may pass OperationFilter
1289
+ # data as a hash:
1290
+ #
1291
+ # {
1292
+ # name: "NAMESPACE_ID", # required, accepts NAMESPACE_ID, SERVICE_ID, STATUS, TYPE, UPDATE_DATE
1293
+ # values: ["FilterValue"], # required
1294
+ # condition: "EQ", # accepts EQ, IN, BETWEEN
1295
+ # }
1296
+ #
1297
+ # @!attribute [rw] name
1298
+ # Specify the operations that you want to get:
1299
+ #
1300
+ # * **NAMESPACE\_ID**\: Gets operations related to specified
1301
+ # namespaces.
1302
+ #
1303
+ # * **SERVICE\_ID**\: Gets operations related to specified services.
1304
+ #
1305
+ # * **STATUS**\: Gets operations based on the status of the
1306
+ # operations: `SUBMITTED`, `PENDING`, `SUCCEED`, or `FAIL`.
1307
+ #
1308
+ # * **TYPE**\: Gets specified types of operation.
1309
+ #
1310
+ # * **UPDATE\_DATE**\: Gets operations that changed status during a
1311
+ # specified date/time range.
1312
+ # @return [String]
1313
+ #
1314
+ # @!attribute [rw] values
1315
+ # Specify values that are applicable to the value that you specify for
1316
+ # `Name`\:
1317
+ #
1318
+ # * **NAMESPACE\_ID**\: Specify one namespace ID.
1319
+ #
1320
+ # * **SERVICE\_ID**\: Specify one service ID.
1321
+ #
1322
+ # * **STATUS**\: Specify one or more statuses: `SUBMITTED`, `PENDING`,
1323
+ # `SUCCEED`, or `FAIL`.
1324
+ #
1325
+ # * **TYPE**\: Specify one or more of the following types:
1326
+ # `CREATE_NAMESPACE`, `DELETE_NAMESPACE`, `UPDATE_SERVICE`,
1327
+ # `REGISTER_INSTANCE`, or `DEREGISTER_INSTANCE`.
1328
+ #
1329
+ # * **UPDATE\_DATE**\: Specify a start date and an end date in Unix
1330
+ # date/time format and Coordinated Universal Time (UTC). The start
1331
+ # date must be the first value.
1332
+ # @return [Array<String>]
1333
+ #
1334
+ # @!attribute [rw] condition
1335
+ # The operator that you want to use to determine whether an operation
1336
+ # matches the specified value. Valid values for condition include:
1337
+ #
1338
+ # * `EQ`\: When you specify `EQ` for the condition, you can specify
1339
+ # only one value. `EQ` is supported for `NAMESPACE_ID`,
1340
+ # `SERVICE_ID`, `STATUS`, and `TYPE`. `EQ` is the default condition
1341
+ # and can be omitted.
1342
+ #
1343
+ # * `IN`\: When you specify `IN` for the condition, you can specify a
1344
+ # list of one or more values. `IN` is supported for `STATUS` and
1345
+ # `TYPE`. An operation must match one of the specified values to be
1346
+ # returned in the response.
1347
+ #
1348
+ # * `BETWEEN`\: Specify two values, a start date and an end date. The
1349
+ # start date must be the first value. `BETWEEN` is supported for
1350
+ # `U`.
1351
+ # @return [String]
1352
+ #
1353
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/OperationFilter AWS API Documentation
1354
+ #
1355
+ class OperationFilter < Struct.new(
1356
+ :name,
1357
+ :values,
1358
+ :condition)
1359
+ include Aws::Structure
1360
+ end
1361
+
1362
+ # A complex type that contains information about an operation that
1363
+ # matches the criteria that you specified in a ListOperations request.
1364
+ #
1365
+ # @!attribute [rw] id
1366
+ # The ID for an operation.
1367
+ # @return [String]
1368
+ #
1369
+ # @!attribute [rw] status
1370
+ # The status of the operation. Values include the following:
1371
+ #
1372
+ # * **SUBMITTED**\: This is the initial state immediately after you
1373
+ # submit a request.
1374
+ #
1375
+ # * **PENDING**\: Amazon Route 53 is performing the operation.
1376
+ #
1377
+ # * **SUCCESS**\: The operation succeeded.
1378
+ #
1379
+ # * **FAIL**\: The operation failed. For the failure reason, see
1380
+ # `ErrorMessage`.
1381
+ # @return [String]
1382
+ #
1383
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/OperationSummary AWS API Documentation
1384
+ #
1385
+ class OperationSummary < Struct.new(
1386
+ :id,
1387
+ :status)
1388
+ include Aws::Structure
1389
+ end
1390
+
1391
+ # @note When making an API call, you may pass RegisterInstanceRequest
1392
+ # data as a hash:
1393
+ #
1394
+ # {
1395
+ # service_id: "ResourceId", # required
1396
+ # instance_id: "ResourceId", # required
1397
+ # creator_request_id: "ResourceId",
1398
+ # attributes: { # required
1399
+ # "AttrKey" => "AttrValue",
1400
+ # },
1401
+ # }
1402
+ #
1403
+ # @!attribute [rw] service_id
1404
+ # The ID of the service that you want to use for settings for the
1405
+ # resource record sets and health check that Amazon Route 53 will
1406
+ # create.
1407
+ # @return [String]
1408
+ #
1409
+ # @!attribute [rw] instance_id
1410
+ # An identifier that you want to associate with the instance. Note the
1411
+ # following:
1412
+ #
1413
+ # * You can use this value to update an existing instance.
1414
+ #
1415
+ # * To register a new instance, you must specify a value that is
1416
+ # unique among instances that you register by using the same
1417
+ # service.
1418
+ # @return [String]
1419
+ #
1420
+ # @!attribute [rw] creator_request_id
1421
+ # An optional parameter that you can use to resolve concurrent
1422
+ # creation requests. `CreatorRequestId` helps to determine if a
1423
+ # specific client owns the namespace.
1424
+ #
1425
+ # **A suitable default value is auto-generated.** You should normally
1426
+ # not need to pass this option.
1427
+ # @return [String]
1428
+ #
1429
+ # @!attribute [rw] attributes
1430
+ # A string map that contain attribute keys and values. Supported
1431
+ # attribute keys include the following:
1432
+ #
1433
+ # * `AWS_INSTANCE_PORT`\: The port on the endpoint that you want
1434
+ # Amazon Route 53 to perform health checks on. This value is also
1435
+ # used for the port value in an SRV record if the service that you
1436
+ # specify includes an SRV record. For more information, see
1437
+ # CreateService.
1438
+ #
1439
+ # * `AWS_INSTANCE_IPV4`\: If the service that you specify contains a
1440
+ # resource record set template for an A record, the IPv4 address
1441
+ # that you want Amazon Route 53 to use for the value of the A
1442
+ # record.
1443
+ #
1444
+ # * `AWS_INSTANCE_IPV6`\: If the service that you specify contains a
1445
+ # resource record set template for an AAAA record, the IPv6 address
1446
+ # that you want Amazon Route 53 to use for the value of the AAAA
1447
+ # record.
1448
+ # @return [Hash<String,String>]
1449
+ #
1450
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/RegisterInstanceRequest AWS API Documentation
1451
+ #
1452
+ class RegisterInstanceRequest < Struct.new(
1453
+ :service_id,
1454
+ :instance_id,
1455
+ :creator_request_id,
1456
+ :attributes)
1457
+ include Aws::Structure
1458
+ end
1459
+
1460
+ # @!attribute [rw] operation_id
1461
+ # A value that you can use to determine whether the request completed
1462
+ # successfully. To get the status of the operation, see GetOperation.
1463
+ # @return [String]
1464
+ #
1465
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/RegisterInstanceResponse AWS API Documentation
1466
+ #
1467
+ class RegisterInstanceResponse < Struct.new(
1468
+ :operation_id)
1469
+ include Aws::Structure
1470
+ end
1471
+
1472
+ # A complex type that contains information about the specified service.
1473
+ #
1474
+ # @!attribute [rw] id
1475
+ # The ID that Amazon Route 53 assigned to the service when you created
1476
+ # it.
1477
+ # @return [String]
1478
+ #
1479
+ # @!attribute [rw] arn
1480
+ # The Amazon Resource Name (ARN) that Amazon Route 53 assigns to the
1481
+ # service when you create it.
1482
+ # @return [String]
1483
+ #
1484
+ # @!attribute [rw] name
1485
+ # The name of the service.
1486
+ # @return [String]
1487
+ #
1488
+ # @!attribute [rw] description
1489
+ # The description of the service.
1490
+ # @return [String]
1491
+ #
1492
+ # @!attribute [rw] instance_count
1493
+ # The number of instances that are currently associated with the
1494
+ # service. Instances that were previously associated with the service
1495
+ # but that have been deleted are not included in the count.
1496
+ # @return [Integer]
1497
+ #
1498
+ # @!attribute [rw] dns_config
1499
+ # A complex type that contains information about the resource record
1500
+ # sets that you want Amazon Route 53 to create when you register an
1501
+ # instance.
1502
+ # @return [Types::DnsConfig]
1503
+ #
1504
+ # @!attribute [rw] health_check_config
1505
+ # *Public DNS namespaces only.* A complex type that contains settings
1506
+ # for an optional health check. If you specify settings for a health
1507
+ # check, Amazon Route 53 associates the health check with all the
1508
+ # resource record sets that you specify in `DnsConfig`.
1509
+ #
1510
+ # <note markdown="1"> The health check uses 30 seconds as the request interval. This is
1511
+ # the number of seconds between the time that each Amazon Route 53
1512
+ # health checker gets a response from your endpoint and the time that
1513
+ # it sends the next health check request. A health checker in each
1514
+ # data center around the world sends your endpoint a health check
1515
+ # request every 30 seconds. On average, your endpoint receives a
1516
+ # health check request about every two seconds. Health checkers in
1517
+ # different data centers don't coordinate with one another, so
1518
+ # you'll sometimes see several requests per second followed by a few
1519
+ # seconds with no health checks at all.
1520
+ #
1521
+ # </note>
1522
+ #
1523
+ # For information about the charges for health checks, see [Amazon
1524
+ # Route 53 Pricing][1].
1525
+ #
1526
+ #
1527
+ #
1528
+ # [1]: http://aws.amazon.com/route53/pricing
1529
+ # @return [Types::HealthCheckConfig]
1530
+ #
1531
+ # @!attribute [rw] create_date
1532
+ # The date and time that the service was created, in Unix format and
1533
+ # Coordinated Universal Time (UTC).
1534
+ # @return [Time]
1535
+ #
1536
+ # @!attribute [rw] creator_request_id
1537
+ # An optional parameter that you can use to resolve concurrent
1538
+ # creation requests. `CreatorRequestId` helps to determine if a
1539
+ # specific client owns the namespace.
1540
+ # @return [String]
1541
+ #
1542
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/Service AWS API Documentation
1543
+ #
1544
+ class Service < Struct.new(
1545
+ :id,
1546
+ :arn,
1547
+ :name,
1548
+ :description,
1549
+ :instance_count,
1550
+ :dns_config,
1551
+ :health_check_config,
1552
+ :create_date,
1553
+ :creator_request_id)
1554
+ include Aws::Structure
1555
+ end
1556
+
1557
+ # A complex type that contains changes to an existing service.
1558
+ #
1559
+ # @note When making an API call, you may pass ServiceChange
1560
+ # data as a hash:
1561
+ #
1562
+ # {
1563
+ # description: "ResourceDescription",
1564
+ # dns_config: { # required
1565
+ # dns_records: [ # required
1566
+ # {
1567
+ # type: "SRV", # required, accepts SRV, A, AAAA
1568
+ # ttl: 1, # required
1569
+ # },
1570
+ # ],
1571
+ # },
1572
+ # health_check_config: {
1573
+ # type: "HTTP", # accepts HTTP, HTTPS, TCP
1574
+ # resource_path: "ResourcePath",
1575
+ # failure_threshold: 1,
1576
+ # },
1577
+ # }
1578
+ #
1579
+ # @!attribute [rw] description
1580
+ # A description for the service.
1581
+ # @return [String]
1582
+ #
1583
+ # @!attribute [rw] dns_config
1584
+ # A complex type that contains information about the resource record
1585
+ # sets that you want Amazon Route 53 to create when you register an
1586
+ # instance.
1587
+ # @return [Types::DnsConfigChange]
1588
+ #
1589
+ # @!attribute [rw] health_check_config
1590
+ # *Public DNS namespaces only.* A complex type that contains settings
1591
+ # for an optional health check. If you specify settings for a health
1592
+ # check, Amazon Route 53 associates the health check with all the
1593
+ # resource record sets that you specify in `DnsConfig`.
1594
+ #
1595
+ # <note markdown="1"> The health check uses 30 seconds as the request interval. This is
1596
+ # the number of seconds between the time that each Amazon Route 53
1597
+ # health checker gets a response from your endpoint and the time that
1598
+ # it sends the next health check request. A health checker in each
1599
+ # data center around the world sends your endpoint a health check
1600
+ # request every 30 seconds. On average, your endpoint receives a
1601
+ # health check request about every two seconds. Health checkers in
1602
+ # different data centers don't coordinate with one another, so
1603
+ # you'll sometimes see several requests per second followed by a few
1604
+ # seconds with no health checks at all.
1605
+ #
1606
+ # </note>
1607
+ #
1608
+ # For information about the charges for health checks, see [Amazon
1609
+ # Route 53 Pricing][1].
1610
+ #
1611
+ #
1612
+ #
1613
+ # [1]: http://aws.amazon.com/route53/pricing
1614
+ # @return [Types::HealthCheckConfig]
1615
+ #
1616
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ServiceChange AWS API Documentation
1617
+ #
1618
+ class ServiceChange < Struct.new(
1619
+ :description,
1620
+ :dns_config,
1621
+ :health_check_config)
1622
+ include Aws::Structure
1623
+ end
1624
+
1625
+ # A complex type that lets you specify the namespaces that you want to
1626
+ # list services for.
1627
+ #
1628
+ # @note When making an API call, you may pass ServiceFilter
1629
+ # data as a hash:
1630
+ #
1631
+ # {
1632
+ # name: "NAMESPACE_ID", # required, accepts NAMESPACE_ID
1633
+ # values: ["FilterValue"], # required
1634
+ # condition: "EQ", # accepts EQ, IN, BETWEEN
1635
+ # }
1636
+ #
1637
+ # @!attribute [rw] name
1638
+ # Specify `NAMESPACE_ID`.
1639
+ # @return [String]
1640
+ #
1641
+ # @!attribute [rw] values
1642
+ # The values that are applicable to the value that you specify for
1643
+ # `Condition` to filter the list of services.
1644
+ # @return [Array<String>]
1645
+ #
1646
+ # @!attribute [rw] condition
1647
+ # The operator that you want to use to determine whether a service is
1648
+ # returned by `ListServices`. Valid values for `Condition` include the
1649
+ # following:
1650
+ #
1651
+ # * `EQ`\: When you specify `EQ`, specify one namespace ID for
1652
+ # `Values`. `EQ` is the default condition and can be omitted.
1653
+ #
1654
+ # * `IN`\: When you specify `IN`, specify a list of the IDs for the
1655
+ # namespaces that you want `ListServices` to return a list of
1656
+ # services for.
1657
+ # @return [String]
1658
+ #
1659
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ServiceFilter AWS API Documentation
1660
+ #
1661
+ class ServiceFilter < Struct.new(
1662
+ :name,
1663
+ :values,
1664
+ :condition)
1665
+ include Aws::Structure
1666
+ end
1667
+
1668
+ # A complex type that contains information about a specified service.
1669
+ #
1670
+ # @!attribute [rw] id
1671
+ # The ID that Amazon Route 53 assigned to the service when you created
1672
+ # it.
1673
+ # @return [String]
1674
+ #
1675
+ # @!attribute [rw] arn
1676
+ # The Amazon Resource Name (ARN) that Amazon Route 53 assigns to the
1677
+ # service when you create it.
1678
+ # @return [String]
1679
+ #
1680
+ # @!attribute [rw] name
1681
+ # The name of the service.
1682
+ # @return [String]
1683
+ #
1684
+ # @!attribute [rw] description
1685
+ # The description that you specify when you create the service.
1686
+ # @return [String]
1687
+ #
1688
+ # @!attribute [rw] instance_count
1689
+ # The number of instances that are currently associated with the
1690
+ # service. Instances that were previously associated with the service
1691
+ # but that have been deleted are not included in the count.
1692
+ # @return [Integer]
1693
+ #
1694
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ServiceSummary AWS API Documentation
1695
+ #
1696
+ class ServiceSummary < Struct.new(
1697
+ :id,
1698
+ :arn,
1699
+ :name,
1700
+ :description,
1701
+ :instance_count)
1702
+ include Aws::Structure
1703
+ end
1704
+
1705
+ # @note When making an API call, you may pass UpdateServiceRequest
1706
+ # data as a hash:
1707
+ #
1708
+ # {
1709
+ # id: "ResourceId", # required
1710
+ # service: { # required
1711
+ # description: "ResourceDescription",
1712
+ # dns_config: { # required
1713
+ # dns_records: [ # required
1714
+ # {
1715
+ # type: "SRV", # required, accepts SRV, A, AAAA
1716
+ # ttl: 1, # required
1717
+ # },
1718
+ # ],
1719
+ # },
1720
+ # health_check_config: {
1721
+ # type: "HTTP", # accepts HTTP, HTTPS, TCP
1722
+ # resource_path: "ResourcePath",
1723
+ # failure_threshold: 1,
1724
+ # },
1725
+ # },
1726
+ # }
1727
+ #
1728
+ # @!attribute [rw] id
1729
+ # The ID of the service that you want to update.
1730
+ # @return [String]
1731
+ #
1732
+ # @!attribute [rw] service
1733
+ # A complex type that contains the new settings for the service.
1734
+ # @return [Types::ServiceChange]
1735
+ #
1736
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateServiceRequest AWS API Documentation
1737
+ #
1738
+ class UpdateServiceRequest < Struct.new(
1739
+ :id,
1740
+ :service)
1741
+ include Aws::Structure
1742
+ end
1743
+
1744
+ # @!attribute [rw] operation_id
1745
+ # A value that you can use to determine whether the request completed
1746
+ # successfully. To get the status of the operation, see GetOperation.
1747
+ # @return [String]
1748
+ #
1749
+ # @see http://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateServiceResponse AWS API Documentation
1750
+ #
1751
+ class UpdateServiceResponse < Struct.new(
1752
+ :operation_id)
1753
+ include Aws::Structure
1754
+ end
1755
+
1756
+ end
1757
+ end