aws-sdk-appmesh 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
File without changes
@@ -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::AppMesh
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::AppMesh
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,1711 @@
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::AppMesh
9
+ module Types
10
+
11
+ # @!attribute [rw] mesh
12
+ # The service mesh that was deleted.
13
+ # @return [Types::MeshData]
14
+ #
15
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DeleteMeshOutput AWS API Documentation
16
+ #
17
+ class DeleteMeshOutput < Struct.new(
18
+ :mesh)
19
+ include Aws::Structure
20
+ end
21
+
22
+ # @!attribute [rw] virtual_router
23
+ # A full description of the virtual router that was updated.
24
+ # @return [Types::VirtualRouterData]
25
+ #
26
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/UpdateVirtualRouterOutput AWS API Documentation
27
+ #
28
+ class UpdateVirtualRouterOutput < Struct.new(
29
+ :virtual_router)
30
+ include Aws::Structure
31
+ end
32
+
33
+ # An object representing a target and its relative weight. Traffic is
34
+ # distributed across targets according to their relative weight. For
35
+ # example, a weighted target with a relative weight of 50 receives five
36
+ # times as much traffic as one with a relative weight of 10.
37
+ #
38
+ # @note When making an API call, you may pass WeightedTarget
39
+ # data as a hash:
40
+ #
41
+ # {
42
+ # virtual_node: "ResourceName",
43
+ # weight: 1,
44
+ # }
45
+ #
46
+ # @!attribute [rw] virtual_node
47
+ # The virtual node to associate with the weighted target.
48
+ # @return [String]
49
+ #
50
+ # @!attribute [rw] weight
51
+ # The relative weight of the weighted target.
52
+ # @return [Integer]
53
+ #
54
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/WeightedTarget AWS API Documentation
55
+ #
56
+ class WeightedTarget < Struct.new(
57
+ :virtual_node,
58
+ :weight)
59
+ include Aws::Structure
60
+ end
61
+
62
+ # @!attribute [rw] route
63
+ # The full description of your mesh following the create call.
64
+ # @return [Types::RouteData]
65
+ #
66
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/CreateRouteOutput AWS API Documentation
67
+ #
68
+ class CreateRouteOutput < Struct.new(
69
+ :route)
70
+ include Aws::Structure
71
+ end
72
+
73
+ # @note When making an API call, you may pass DeleteVirtualNodeInput
74
+ # data as a hash:
75
+ #
76
+ # {
77
+ # mesh_name: "ResourceName", # required
78
+ # virtual_node_name: "ResourceName", # required
79
+ # }
80
+ #
81
+ # @!attribute [rw] mesh_name
82
+ # The name of the service mesh in which to delete the virtual node.
83
+ # @return [String]
84
+ #
85
+ # @!attribute [rw] virtual_node_name
86
+ # The name of the virtual node to delete.
87
+ # @return [String]
88
+ #
89
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DeleteVirtualNodeInput AWS API Documentation
90
+ #
91
+ class DeleteVirtualNodeInput < Struct.new(
92
+ :mesh_name,
93
+ :virtual_node_name)
94
+ include Aws::Structure
95
+ end
96
+
97
+ # The DNS service discovery information for your virtual node.
98
+ #
99
+ # @note When making an API call, you may pass DnsServiceDiscovery
100
+ # data as a hash:
101
+ #
102
+ # {
103
+ # service_name: "ServiceName",
104
+ # }
105
+ #
106
+ # @!attribute [rw] service_name
107
+ # The DNS service name for your virtual node.
108
+ # @return [String]
109
+ #
110
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DnsServiceDiscovery AWS API Documentation
111
+ #
112
+ class DnsServiceDiscovery < Struct.new(
113
+ :service_name)
114
+ include Aws::Structure
115
+ end
116
+
117
+ # An object representing a virtual node returned by a list operation.
118
+ #
119
+ # @!attribute [rw] arn
120
+ # The full Amazon Resource Name (ARN) for the virtual node.
121
+ # @return [String]
122
+ #
123
+ # @!attribute [rw] mesh_name
124
+ # The name of the service mesh in which the virtual node resides.
125
+ # @return [String]
126
+ #
127
+ # @!attribute [rw] virtual_node_name
128
+ # The name of the virtual node.
129
+ # @return [String]
130
+ #
131
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/VirtualNodeRef AWS API Documentation
132
+ #
133
+ class VirtualNodeRef < Struct.new(
134
+ :arn,
135
+ :mesh_name,
136
+ :virtual_node_name)
137
+ include Aws::Structure
138
+ end
139
+
140
+ # @!attribute [rw] route
141
+ # The full description of your route.
142
+ # @return [Types::RouteData]
143
+ #
144
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DescribeRouteOutput AWS API Documentation
145
+ #
146
+ class DescribeRouteOutput < Struct.new(
147
+ :route)
148
+ include Aws::Structure
149
+ end
150
+
151
+ # An object representing the service discovery information for a virtual
152
+ # node.
153
+ #
154
+ # @note When making an API call, you may pass ServiceDiscovery
155
+ # data as a hash:
156
+ #
157
+ # {
158
+ # dns: {
159
+ # service_name: "ServiceName",
160
+ # },
161
+ # }
162
+ #
163
+ # @!attribute [rw] dns
164
+ # Specifies the DNS service name for the virtual node.
165
+ # @return [Types::DnsServiceDiscovery]
166
+ #
167
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/ServiceDiscovery AWS API Documentation
168
+ #
169
+ class ServiceDiscovery < Struct.new(
170
+ :dns)
171
+ include Aws::Structure
172
+ end
173
+
174
+ # An object representing the status of a service mesh.
175
+ #
176
+ # @!attribute [rw] status
177
+ # The current mesh status.
178
+ # @return [String]
179
+ #
180
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/MeshStatus AWS API Documentation
181
+ #
182
+ class MeshStatus < Struct.new(
183
+ :status)
184
+ include Aws::Structure
185
+ end
186
+
187
+ # An object representing a virtual node returned by a describe
188
+ # operation.
189
+ #
190
+ # @!attribute [rw] mesh_name
191
+ # The name of the service mesh in which the virtual node resides.
192
+ # @return [String]
193
+ #
194
+ # @!attribute [rw] metadata
195
+ # The associated metadata for the virtual node.
196
+ # @return [Types::ResourceMetadata]
197
+ #
198
+ # @!attribute [rw] spec
199
+ # The specifications of the virtual node.
200
+ # @return [Types::VirtualNodeSpec]
201
+ #
202
+ # @!attribute [rw] status
203
+ # The current status for the virtual node.
204
+ # @return [Types::VirtualNodeStatus]
205
+ #
206
+ # @!attribute [rw] virtual_node_name
207
+ # The name of the virtual node.
208
+ # @return [String]
209
+ #
210
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/VirtualNodeData AWS API Documentation
211
+ #
212
+ class VirtualNodeData < Struct.new(
213
+ :mesh_name,
214
+ :metadata,
215
+ :spec,
216
+ :status,
217
+ :virtual_node_name)
218
+ include Aws::Structure
219
+ end
220
+
221
+ # An object representing the specification of a virtual node.
222
+ #
223
+ # @note When making an API call, you may pass VirtualNodeSpec
224
+ # data as a hash:
225
+ #
226
+ # {
227
+ # backends: ["ServiceName"],
228
+ # listeners: [
229
+ # {
230
+ # health_check: {
231
+ # healthy_threshold: 1,
232
+ # interval_millis: 1,
233
+ # path: "String",
234
+ # port: 1,
235
+ # protocol: "http", # accepts http, tcp
236
+ # timeout_millis: 1,
237
+ # unhealthy_threshold: 1,
238
+ # },
239
+ # port_mapping: {
240
+ # port: 1,
241
+ # protocol: "http", # accepts http, tcp
242
+ # },
243
+ # },
244
+ # ],
245
+ # service_discovery: {
246
+ # dns: {
247
+ # service_name: "ServiceName",
248
+ # },
249
+ # },
250
+ # }
251
+ #
252
+ # @!attribute [rw] backends
253
+ # The backends to which the virtual node is expected to send outbound
254
+ # traffic.
255
+ # @return [Array<String>]
256
+ #
257
+ # @!attribute [rw] listeners
258
+ # The listeners from which the virtual node is expected to receive
259
+ # inbound traffic.
260
+ # @return [Array<Types::Listener>]
261
+ #
262
+ # @!attribute [rw] service_discovery
263
+ # The service discovery information for the virtual node.
264
+ # @return [Types::ServiceDiscovery]
265
+ #
266
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/VirtualNodeSpec AWS API Documentation
267
+ #
268
+ class VirtualNodeSpec < Struct.new(
269
+ :backends,
270
+ :listeners,
271
+ :service_discovery)
272
+ include Aws::Structure
273
+ end
274
+
275
+ # An object representing a service mesh returned by a list operation.
276
+ #
277
+ # @!attribute [rw] arn
278
+ # The full Amazon Resource Name (ARN) of the service mesh.
279
+ # @return [String]
280
+ #
281
+ # @!attribute [rw] mesh_name
282
+ # The name of the service mesh.
283
+ # @return [String]
284
+ #
285
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/MeshRef AWS API Documentation
286
+ #
287
+ class MeshRef < Struct.new(
288
+ :arn,
289
+ :mesh_name)
290
+ include Aws::Structure
291
+ end
292
+
293
+ # @note When making an API call, you may pass DescribeVirtualRouterInput
294
+ # data as a hash:
295
+ #
296
+ # {
297
+ # mesh_name: "ResourceName", # required
298
+ # virtual_router_name: "ResourceName", # required
299
+ # }
300
+ #
301
+ # @!attribute [rw] mesh_name
302
+ # The name of the service mesh in which the virtual router resides.
303
+ # @return [String]
304
+ #
305
+ # @!attribute [rw] virtual_router_name
306
+ # The name of the virtual router to describe.
307
+ # @return [String]
308
+ #
309
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DescribeVirtualRouterInput AWS API Documentation
310
+ #
311
+ class DescribeVirtualRouterInput < Struct.new(
312
+ :mesh_name,
313
+ :virtual_router_name)
314
+ include Aws::Structure
315
+ end
316
+
317
+ # @!attribute [rw] virtual_router
318
+ # The full description of your virtual router.
319
+ # @return [Types::VirtualRouterData]
320
+ #
321
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DescribeVirtualRouterOutput AWS API Documentation
322
+ #
323
+ class DescribeVirtualRouterOutput < Struct.new(
324
+ :virtual_router)
325
+ include Aws::Structure
326
+ end
327
+
328
+ # @!attribute [rw] route
329
+ # A full description of the route that was updated.
330
+ # @return [Types::RouteData]
331
+ #
332
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/UpdateRouteOutput AWS API Documentation
333
+ #
334
+ class UpdateRouteOutput < Struct.new(
335
+ :route)
336
+ include Aws::Structure
337
+ end
338
+
339
+ # An object representing the traffic distribution requirements for
340
+ # matched HTTP requests.
341
+ #
342
+ # @note When making an API call, you may pass HttpRouteAction
343
+ # data as a hash:
344
+ #
345
+ # {
346
+ # weighted_targets: [
347
+ # {
348
+ # virtual_node: "ResourceName",
349
+ # weight: 1,
350
+ # },
351
+ # ],
352
+ # }
353
+ #
354
+ # @!attribute [rw] weighted_targets
355
+ # The targets that traffic is routed to when a request matches the
356
+ # route. You can specify one or more targets and their relative
357
+ # weights with which to distribute traffic.
358
+ # @return [Array<Types::WeightedTarget>]
359
+ #
360
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/HttpRouteAction AWS API Documentation
361
+ #
362
+ class HttpRouteAction < Struct.new(
363
+ :weighted_targets)
364
+ include Aws::Structure
365
+ end
366
+
367
+ # @!attribute [rw] virtual_router
368
+ # The full description of your virtual router following the create
369
+ # call.
370
+ # @return [Types::VirtualRouterData]
371
+ #
372
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/CreateVirtualRouterOutput AWS API Documentation
373
+ #
374
+ class CreateVirtualRouterOutput < Struct.new(
375
+ :virtual_router)
376
+ include Aws::Structure
377
+ end
378
+
379
+ # @note When making an API call, you may pass CreateVirtualRouterInput
380
+ # data as a hash:
381
+ #
382
+ # {
383
+ # client_token: "String",
384
+ # mesh_name: "ResourceName", # required
385
+ # spec: { # required
386
+ # service_names: ["ServiceName"],
387
+ # },
388
+ # virtual_router_name: "ResourceName", # required
389
+ # }
390
+ #
391
+ # @!attribute [rw] client_token
392
+ # Unique, case-sensitive identifier that you provide to ensure the
393
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
394
+ # underscores are allowed.
395
+ #
396
+ # **A suitable default value is auto-generated.** You should normally
397
+ # not need to pass this option.
398
+ # @return [String]
399
+ #
400
+ # @!attribute [rw] mesh_name
401
+ # The name of the service mesh in which to create the virtual router.
402
+ # @return [String]
403
+ #
404
+ # @!attribute [rw] spec
405
+ # The virtual router specification to apply.
406
+ # @return [Types::VirtualRouterSpec]
407
+ #
408
+ # @!attribute [rw] virtual_router_name
409
+ # The name to use for the virtual router.
410
+ # @return [String]
411
+ #
412
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/CreateVirtualRouterInput AWS API Documentation
413
+ #
414
+ class CreateVirtualRouterInput < Struct.new(
415
+ :client_token,
416
+ :mesh_name,
417
+ :spec,
418
+ :virtual_router_name)
419
+ include Aws::Structure
420
+ end
421
+
422
+ # An object representing the current status of a route.
423
+ #
424
+ # @!attribute [rw] status
425
+ # The current status for the route.
426
+ # @return [String]
427
+ #
428
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/RouteStatus AWS API Documentation
429
+ #
430
+ class RouteStatus < Struct.new(
431
+ :status)
432
+ include Aws::Structure
433
+ end
434
+
435
+ # @note When making an API call, you may pass ListMeshesInput
436
+ # data as a hash:
437
+ #
438
+ # {
439
+ # limit: 1,
440
+ # next_token: "String",
441
+ # }
442
+ #
443
+ # @!attribute [rw] limit
444
+ # The maximum number of mesh results returned by `ListMeshes` in
445
+ # paginated output. When this parameter is used, `ListMeshes` only
446
+ # returns `limit` results in a single page along with a `nextToken`
447
+ # response element. The remaining results of the initial request can
448
+ # be seen by sending another `ListMeshes` request with the returned
449
+ # `nextToken` value. This value can be between 1 and 100. If this
450
+ # parameter is not used, then `ListMeshes` returns up to 100 results
451
+ # and a `nextToken` value if applicable.
452
+ # @return [Integer]
453
+ #
454
+ # @!attribute [rw] next_token
455
+ # The `nextToken` value returned from a previous paginated
456
+ # `ListMeshes` request where `limit` was used and the results exceeded
457
+ # the value of that parameter. Pagination continues from the end of
458
+ # the previous results that returned the `nextToken` value.
459
+ #
460
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only
461
+ # used to retrieve the next items in a list and not for other
462
+ # programmatic purposes.
463
+ #
464
+ # </note>
465
+ # @return [String]
466
+ #
467
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/ListMeshesInput AWS API Documentation
468
+ #
469
+ class ListMeshesInput < Struct.new(
470
+ :limit,
471
+ :next_token)
472
+ include Aws::Structure
473
+ end
474
+
475
+ # An object representing the status of a virtual router.
476
+ #
477
+ # @!attribute [rw] status
478
+ # The current status of the virtual router.
479
+ # @return [String]
480
+ #
481
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/VirtualRouterStatus AWS API Documentation
482
+ #
483
+ class VirtualRouterStatus < Struct.new(
484
+ :status)
485
+ include Aws::Structure
486
+ end
487
+
488
+ # @!attribute [rw] meshes
489
+ # The list of existing service meshes.
490
+ # @return [Array<Types::MeshRef>]
491
+ #
492
+ # @!attribute [rw] next_token
493
+ # The `nextToken` value to include in a future `ListMeshes` request.
494
+ # When the results of a `ListMeshes` request exceed `limit`, this
495
+ # value can be used to retrieve the next page of results. This value
496
+ # is `null` when there are no more results to return.
497
+ # @return [String]
498
+ #
499
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/ListMeshesOutput AWS API Documentation
500
+ #
501
+ class ListMeshesOutput < Struct.new(
502
+ :meshes,
503
+ :next_token)
504
+ include Aws::Structure
505
+ end
506
+
507
+ # @!attribute [rw] virtual_node
508
+ # The full description of your virtual node.
509
+ # @return [Types::VirtualNodeData]
510
+ #
511
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DescribeVirtualNodeOutput AWS API Documentation
512
+ #
513
+ class DescribeVirtualNodeOutput < Struct.new(
514
+ :virtual_node)
515
+ include Aws::Structure
516
+ end
517
+
518
+ # @!attribute [rw] mesh
519
+ # The full description of your service mesh following the create call.
520
+ # @return [Types::MeshData]
521
+ #
522
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/CreateMeshOutput AWS API Documentation
523
+ #
524
+ class CreateMeshOutput < Struct.new(
525
+ :mesh)
526
+ include Aws::Structure
527
+ end
528
+
529
+ # An object representing a route returned by a describe operation.
530
+ #
531
+ # @!attribute [rw] mesh_name
532
+ # The name of the service mesh in which the route resides.
533
+ # @return [String]
534
+ #
535
+ # @!attribute [rw] metadata
536
+ # The associated metadata for the route.
537
+ # @return [Types::ResourceMetadata]
538
+ #
539
+ # @!attribute [rw] route_name
540
+ # The name of the route.
541
+ # @return [String]
542
+ #
543
+ # @!attribute [rw] spec
544
+ # The specifications of the route.
545
+ # @return [Types::RouteSpec]
546
+ #
547
+ # @!attribute [rw] status
548
+ # The status of the route.
549
+ # @return [Types::RouteStatus]
550
+ #
551
+ # @!attribute [rw] virtual_router_name
552
+ # The virtual router with which the route is associated.
553
+ # @return [String]
554
+ #
555
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/RouteData AWS API Documentation
556
+ #
557
+ class RouteData < Struct.new(
558
+ :mesh_name,
559
+ :metadata,
560
+ :route_name,
561
+ :spec,
562
+ :status,
563
+ :virtual_router_name)
564
+ include Aws::Structure
565
+ end
566
+
567
+ # @note When making an API call, you may pass UpdateVirtualNodeInput
568
+ # data as a hash:
569
+ #
570
+ # {
571
+ # client_token: "String",
572
+ # mesh_name: "ResourceName", # required
573
+ # spec: { # required
574
+ # backends: ["ServiceName"],
575
+ # listeners: [
576
+ # {
577
+ # health_check: {
578
+ # healthy_threshold: 1,
579
+ # interval_millis: 1,
580
+ # path: "String",
581
+ # port: 1,
582
+ # protocol: "http", # accepts http, tcp
583
+ # timeout_millis: 1,
584
+ # unhealthy_threshold: 1,
585
+ # },
586
+ # port_mapping: {
587
+ # port: 1,
588
+ # protocol: "http", # accepts http, tcp
589
+ # },
590
+ # },
591
+ # ],
592
+ # service_discovery: {
593
+ # dns: {
594
+ # service_name: "ServiceName",
595
+ # },
596
+ # },
597
+ # },
598
+ # virtual_node_name: "ResourceName", # required
599
+ # }
600
+ #
601
+ # @!attribute [rw] client_token
602
+ # Unique, case-sensitive identifier that you provide to ensure the
603
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
604
+ # underscores are allowed.
605
+ #
606
+ # **A suitable default value is auto-generated.** You should normally
607
+ # not need to pass this option.
608
+ # @return [String]
609
+ #
610
+ # @!attribute [rw] mesh_name
611
+ # The name of the service mesh in which the virtual node resides.
612
+ # @return [String]
613
+ #
614
+ # @!attribute [rw] spec
615
+ # The new virtual node specification to apply. This overwrites the
616
+ # existing data.
617
+ # @return [Types::VirtualNodeSpec]
618
+ #
619
+ # @!attribute [rw] virtual_node_name
620
+ # The name of the virtual node to update.
621
+ # @return [String]
622
+ #
623
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/UpdateVirtualNodeInput AWS API Documentation
624
+ #
625
+ class UpdateVirtualNodeInput < Struct.new(
626
+ :client_token,
627
+ :mesh_name,
628
+ :spec,
629
+ :virtual_node_name)
630
+ include Aws::Structure
631
+ end
632
+
633
+ # @note When making an API call, you may pass DeleteRouteInput
634
+ # data as a hash:
635
+ #
636
+ # {
637
+ # mesh_name: "ResourceName", # required
638
+ # route_name: "ResourceName", # required
639
+ # virtual_router_name: "ResourceName", # required
640
+ # }
641
+ #
642
+ # @!attribute [rw] mesh_name
643
+ # The name of the service mesh in which to delete the route.
644
+ # @return [String]
645
+ #
646
+ # @!attribute [rw] route_name
647
+ # The name of the route to delete.
648
+ # @return [String]
649
+ #
650
+ # @!attribute [rw] virtual_router_name
651
+ # The name of the virtual router in which to delete the route.
652
+ # @return [String]
653
+ #
654
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DeleteRouteInput AWS API Documentation
655
+ #
656
+ class DeleteRouteInput < Struct.new(
657
+ :mesh_name,
658
+ :route_name,
659
+ :virtual_router_name)
660
+ include Aws::Structure
661
+ end
662
+
663
+ # @note When making an API call, you may pass ListRoutesInput
664
+ # data as a hash:
665
+ #
666
+ # {
667
+ # limit: 1,
668
+ # mesh_name: "ResourceName", # required
669
+ # next_token: "String",
670
+ # virtual_router_name: "ResourceName", # required
671
+ # }
672
+ #
673
+ # @!attribute [rw] limit
674
+ # The maximum number of mesh results returned by `ListRoutes` in
675
+ # paginated output. When this parameter is used, `ListRoutes` only
676
+ # returns `limit` results in a single page along with a `nextToken`
677
+ # response element. The remaining results of the initial request can
678
+ # be seen by sending another `ListRoutes` request with the returned
679
+ # `nextToken` value. This value can be between 1 and 100. If this
680
+ # parameter is not used, then `ListRoutes` returns up to 100 results
681
+ # and a `nextToken` value if applicable.
682
+ # @return [Integer]
683
+ #
684
+ # @!attribute [rw] mesh_name
685
+ # The name of the service mesh in which to list routes.
686
+ # @return [String]
687
+ #
688
+ # @!attribute [rw] next_token
689
+ # The `nextToken` value returned from a previous paginated
690
+ # `ListRoutes` request where `limit` was used and the results exceeded
691
+ # the value of that parameter. Pagination continues from the end of
692
+ # the previous results that returned the `nextToken` value.
693
+ # @return [String]
694
+ #
695
+ # @!attribute [rw] virtual_router_name
696
+ # The name of the virtual router in which to list routes.
697
+ # @return [String]
698
+ #
699
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/ListRoutesInput AWS API Documentation
700
+ #
701
+ class ListRoutesInput < Struct.new(
702
+ :limit,
703
+ :mesh_name,
704
+ :next_token,
705
+ :virtual_router_name)
706
+ include Aws::Structure
707
+ end
708
+
709
+ # An object representing the HTTP routing specification for a route.
710
+ #
711
+ # @note When making an API call, you may pass HttpRoute
712
+ # data as a hash:
713
+ #
714
+ # {
715
+ # action: {
716
+ # weighted_targets: [
717
+ # {
718
+ # virtual_node: "ResourceName",
719
+ # weight: 1,
720
+ # },
721
+ # ],
722
+ # },
723
+ # match: {
724
+ # prefix: "String",
725
+ # },
726
+ # }
727
+ #
728
+ # @!attribute [rw] action
729
+ # The action to take if a match is determined.
730
+ # @return [Types::HttpRouteAction]
731
+ #
732
+ # @!attribute [rw] match
733
+ # The criteria for determining an HTTP request match.
734
+ # @return [Types::HttpRouteMatch]
735
+ #
736
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/HttpRoute AWS API Documentation
737
+ #
738
+ class HttpRoute < Struct.new(
739
+ :action,
740
+ :match)
741
+ include Aws::Structure
742
+ end
743
+
744
+ # @!attribute [rw] next_token
745
+ # The `nextToken` value to include in a future `ListRoutes` request.
746
+ # When the results of a `ListRoutes` request exceed `limit`, this
747
+ # value can be used to retrieve the next page of results. This value
748
+ # is `null` when there are no more results to return.
749
+ # @return [String]
750
+ #
751
+ # @!attribute [rw] routes
752
+ # The list of existing routes for the specified service mesh and
753
+ # virtual router.
754
+ # @return [Array<Types::RouteRef>]
755
+ #
756
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/ListRoutesOutput AWS API Documentation
757
+ #
758
+ class ListRoutesOutput < Struct.new(
759
+ :next_token,
760
+ :routes)
761
+ include Aws::Structure
762
+ end
763
+
764
+ # An object representing the specification of a route.
765
+ #
766
+ # @note When making an API call, you may pass RouteSpec
767
+ # data as a hash:
768
+ #
769
+ # {
770
+ # http_route: {
771
+ # action: {
772
+ # weighted_targets: [
773
+ # {
774
+ # virtual_node: "ResourceName",
775
+ # weight: 1,
776
+ # },
777
+ # ],
778
+ # },
779
+ # match: {
780
+ # prefix: "String",
781
+ # },
782
+ # },
783
+ # }
784
+ #
785
+ # @!attribute [rw] http_route
786
+ # The HTTP routing information for the route.
787
+ # @return [Types::HttpRoute]
788
+ #
789
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/RouteSpec AWS API Documentation
790
+ #
791
+ class RouteSpec < Struct.new(
792
+ :http_route)
793
+ include Aws::Structure
794
+ end
795
+
796
+ # @note When making an API call, you may pass DescribeVirtualNodeInput
797
+ # data as a hash:
798
+ #
799
+ # {
800
+ # mesh_name: "ResourceName", # required
801
+ # virtual_node_name: "ResourceName", # required
802
+ # }
803
+ #
804
+ # @!attribute [rw] mesh_name
805
+ # The name of the service mesh in which the virtual node resides.
806
+ # @return [String]
807
+ #
808
+ # @!attribute [rw] virtual_node_name
809
+ # The name of the virtual node to describe.
810
+ # @return [String]
811
+ #
812
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DescribeVirtualNodeInput AWS API Documentation
813
+ #
814
+ class DescribeVirtualNodeInput < Struct.new(
815
+ :mesh_name,
816
+ :virtual_node_name)
817
+ include Aws::Structure
818
+ end
819
+
820
+ # An object representing a virtual router returned by a list operation.
821
+ #
822
+ # @!attribute [rw] arn
823
+ # The full Amazon Resource Name (ARN) for the virtual router.
824
+ # @return [String]
825
+ #
826
+ # @!attribute [rw] mesh_name
827
+ # The name of the service mesh in which the virtual router resides.
828
+ # @return [String]
829
+ #
830
+ # @!attribute [rw] virtual_router_name
831
+ # The name of the virtual router.
832
+ # @return [String]
833
+ #
834
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/VirtualRouterRef AWS API Documentation
835
+ #
836
+ class VirtualRouterRef < Struct.new(
837
+ :arn,
838
+ :mesh_name,
839
+ :virtual_router_name)
840
+ include Aws::Structure
841
+ end
842
+
843
+ # @!attribute [rw] next_token
844
+ # The `nextToken` value to include in a future `ListVirtualNodes`
845
+ # request. When the results of a `ListVirtualNodes` request exceed
846
+ # `limit`, this value can be used to retrieve the next page of
847
+ # results. This value is `null` when there are no more results to
848
+ # return.
849
+ # @return [String]
850
+ #
851
+ # @!attribute [rw] virtual_nodes
852
+ # The list of existing virtual nodes for the specified service mesh.
853
+ # @return [Array<Types::VirtualNodeRef>]
854
+ #
855
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/ListVirtualNodesOutput AWS API Documentation
856
+ #
857
+ class ListVirtualNodesOutput < Struct.new(
858
+ :next_token,
859
+ :virtual_nodes)
860
+ include Aws::Structure
861
+ end
862
+
863
+ # @!attribute [rw] virtual_node
864
+ # The virtual node that was deleted.
865
+ # @return [Types::VirtualNodeData]
866
+ #
867
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DeleteVirtualNodeOutput AWS API Documentation
868
+ #
869
+ class DeleteVirtualNodeOutput < Struct.new(
870
+ :virtual_node)
871
+ include Aws::Structure
872
+ end
873
+
874
+ # @note When making an API call, you may pass UpdateVirtualRouterInput
875
+ # data as a hash:
876
+ #
877
+ # {
878
+ # client_token: "String",
879
+ # mesh_name: "ResourceName", # required
880
+ # spec: { # required
881
+ # service_names: ["ServiceName"],
882
+ # },
883
+ # virtual_router_name: "ResourceName", # required
884
+ # }
885
+ #
886
+ # @!attribute [rw] client_token
887
+ # Unique, case-sensitive identifier that you provide to ensure the
888
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
889
+ # underscores are allowed.
890
+ #
891
+ # **A suitable default value is auto-generated.** You should normally
892
+ # not need to pass this option.
893
+ # @return [String]
894
+ #
895
+ # @!attribute [rw] mesh_name
896
+ # The name of the service mesh in which the virtual router resides.
897
+ # @return [String]
898
+ #
899
+ # @!attribute [rw] spec
900
+ # The new virtual router specification to apply. This overwrites the
901
+ # existing data.
902
+ # @return [Types::VirtualRouterSpec]
903
+ #
904
+ # @!attribute [rw] virtual_router_name
905
+ # The name of the virtual router to update.
906
+ # @return [String]
907
+ #
908
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/UpdateVirtualRouterInput AWS API Documentation
909
+ #
910
+ class UpdateVirtualRouterInput < Struct.new(
911
+ :client_token,
912
+ :mesh_name,
913
+ :spec,
914
+ :virtual_router_name)
915
+ include Aws::Structure
916
+ end
917
+
918
+ # @note When making an API call, you may pass DescribeRouteInput
919
+ # data as a hash:
920
+ #
921
+ # {
922
+ # mesh_name: "ResourceName", # required
923
+ # route_name: "ResourceName", # required
924
+ # virtual_router_name: "ResourceName", # required
925
+ # }
926
+ #
927
+ # @!attribute [rw] mesh_name
928
+ # The name of the service mesh in which the route resides.
929
+ # @return [String]
930
+ #
931
+ # @!attribute [rw] route_name
932
+ # The name of the route to describe.
933
+ # @return [String]
934
+ #
935
+ # @!attribute [rw] virtual_router_name
936
+ # The name of the virtual router with which the route is associated.
937
+ # @return [String]
938
+ #
939
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DescribeRouteInput AWS API Documentation
940
+ #
941
+ class DescribeRouteInput < Struct.new(
942
+ :mesh_name,
943
+ :route_name,
944
+ :virtual_router_name)
945
+ include Aws::Structure
946
+ end
947
+
948
+ # @!attribute [rw] next_token
949
+ # The `nextToken` value to include in a future `ListVirtualRouters`
950
+ # request. When the results of a `ListVirtualRouters` request exceed
951
+ # `limit`, this value can be used to retrieve the next page of
952
+ # results. This value is `null` when there are no more results to
953
+ # return.
954
+ # @return [String]
955
+ #
956
+ # @!attribute [rw] virtual_routers
957
+ # The list of existing virtual routers for the specified service mesh.
958
+ # @return [Array<Types::VirtualRouterRef>]
959
+ #
960
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/ListVirtualRoutersOutput AWS API Documentation
961
+ #
962
+ class ListVirtualRoutersOutput < Struct.new(
963
+ :next_token,
964
+ :virtual_routers)
965
+ include Aws::Structure
966
+ end
967
+
968
+ # @!attribute [rw] virtual_node
969
+ # The full description of your virtual node following the create call.
970
+ # @return [Types::VirtualNodeData]
971
+ #
972
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/CreateVirtualNodeOutput AWS API Documentation
973
+ #
974
+ class CreateVirtualNodeOutput < Struct.new(
975
+ :virtual_node)
976
+ include Aws::Structure
977
+ end
978
+
979
+ # @!attribute [rw] virtual_router
980
+ # The virtual router that was deleted.
981
+ # @return [Types::VirtualRouterData]
982
+ #
983
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DeleteVirtualRouterOutput AWS API Documentation
984
+ #
985
+ class DeleteVirtualRouterOutput < Struct.new(
986
+ :virtual_router)
987
+ include Aws::Structure
988
+ end
989
+
990
+ # An object representing metadata for a resource.
991
+ #
992
+ # @!attribute [rw] arn
993
+ # The full Amazon Resource Name (ARN) for the resource.
994
+ #
995
+ # <note markdown="1"> After you create a virtual node, set this value (either the full ARN
996
+ # or the truncated resource name, for example,
997
+ # `mesh/default/virtualNode/simpleapp`, as the
998
+ # `APPMESH_VIRTUAL_NODE_NAME` environment variable for your task
999
+ # group's Envoy proxy container in your task definition or pod spec.
1000
+ # This is then mapped to the `node.id` and `node.cluster` Envoy
1001
+ # parameters.
1002
+ #
1003
+ # If you require your Envoy stats or tracing to use a different name,
1004
+ # you can override the `node.cluster` value that is set by
1005
+ # `APPMESH_VIRTUAL_NODE_NAME` with the `APPMESH_VIRTUAL_NODE_CLUSTER`
1006
+ # environment variable.
1007
+ #
1008
+ # </note>
1009
+ # @return [String]
1010
+ #
1011
+ # @!attribute [rw] created_at
1012
+ # The Unix epoch timestamp in seconds for when the cluster was
1013
+ # created.
1014
+ # @return [Time]
1015
+ #
1016
+ # @!attribute [rw] last_updated_at
1017
+ # The Unix epoch timestamp in seconds for when the cluster was last
1018
+ # updated.
1019
+ # @return [Time]
1020
+ #
1021
+ # @!attribute [rw] uid
1022
+ # The unique identifier for the resource.
1023
+ # @return [String]
1024
+ #
1025
+ # @!attribute [rw] version
1026
+ # The version of the resource. Resources are created at version 1, and
1027
+ # this version is incremented each time they are updated.
1028
+ # @return [Integer]
1029
+ #
1030
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/ResourceMetadata AWS API Documentation
1031
+ #
1032
+ class ResourceMetadata < Struct.new(
1033
+ :arn,
1034
+ :created_at,
1035
+ :last_updated_at,
1036
+ :uid,
1037
+ :version)
1038
+ include Aws::Structure
1039
+ end
1040
+
1041
+ # @note When making an API call, you may pass CreateMeshInput
1042
+ # data as a hash:
1043
+ #
1044
+ # {
1045
+ # client_token: "String",
1046
+ # mesh_name: "ResourceName", # required
1047
+ # }
1048
+ #
1049
+ # @!attribute [rw] client_token
1050
+ # Unique, case-sensitive identifier that you provide to ensure the
1051
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
1052
+ # underscores are allowed.
1053
+ #
1054
+ # **A suitable default value is auto-generated.** You should normally
1055
+ # not need to pass this option.
1056
+ # @return [String]
1057
+ #
1058
+ # @!attribute [rw] mesh_name
1059
+ # The name to use for the service mesh.
1060
+ # @return [String]
1061
+ #
1062
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/CreateMeshInput AWS API Documentation
1063
+ #
1064
+ class CreateMeshInput < Struct.new(
1065
+ :client_token,
1066
+ :mesh_name)
1067
+ include Aws::Structure
1068
+ end
1069
+
1070
+ # An object representing a virtual node listener port mapping.
1071
+ #
1072
+ # @note When making an API call, you may pass PortMapping
1073
+ # data as a hash:
1074
+ #
1075
+ # {
1076
+ # port: 1,
1077
+ # protocol: "http", # accepts http, tcp
1078
+ # }
1079
+ #
1080
+ # @!attribute [rw] port
1081
+ # The port used for the port mapping.
1082
+ # @return [Integer]
1083
+ #
1084
+ # @!attribute [rw] protocol
1085
+ # The protocol used for the port mapping.
1086
+ # @return [String]
1087
+ #
1088
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/PortMapping AWS API Documentation
1089
+ #
1090
+ class PortMapping < Struct.new(
1091
+ :port,
1092
+ :protocol)
1093
+ include Aws::Structure
1094
+ end
1095
+
1096
+ # @note When making an API call, you may pass DeleteVirtualRouterInput
1097
+ # data as a hash:
1098
+ #
1099
+ # {
1100
+ # mesh_name: "ResourceName", # required
1101
+ # virtual_router_name: "ResourceName", # required
1102
+ # }
1103
+ #
1104
+ # @!attribute [rw] mesh_name
1105
+ # The name of the service mesh in which to delete the virtual router.
1106
+ # @return [String]
1107
+ #
1108
+ # @!attribute [rw] virtual_router_name
1109
+ # The name of the virtual router to delete.
1110
+ # @return [String]
1111
+ #
1112
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DeleteVirtualRouterInput AWS API Documentation
1113
+ #
1114
+ class DeleteVirtualRouterInput < Struct.new(
1115
+ :mesh_name,
1116
+ :virtual_router_name)
1117
+ include Aws::Structure
1118
+ end
1119
+
1120
+ # An object representing the specification of a virtual router.
1121
+ #
1122
+ # @note When making an API call, you may pass VirtualRouterSpec
1123
+ # data as a hash:
1124
+ #
1125
+ # {
1126
+ # service_names: ["ServiceName"],
1127
+ # }
1128
+ #
1129
+ # @!attribute [rw] service_names
1130
+ # The service mesh service names to associate with the virtual router.
1131
+ # @return [Array<String>]
1132
+ #
1133
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/VirtualRouterSpec AWS API Documentation
1134
+ #
1135
+ class VirtualRouterSpec < Struct.new(
1136
+ :service_names)
1137
+ include Aws::Structure
1138
+ end
1139
+
1140
+ # @note When making an API call, you may pass UpdateRouteInput
1141
+ # data as a hash:
1142
+ #
1143
+ # {
1144
+ # client_token: "String",
1145
+ # mesh_name: "ResourceName", # required
1146
+ # route_name: "ResourceName", # required
1147
+ # spec: { # required
1148
+ # http_route: {
1149
+ # action: {
1150
+ # weighted_targets: [
1151
+ # {
1152
+ # virtual_node: "ResourceName",
1153
+ # weight: 1,
1154
+ # },
1155
+ # ],
1156
+ # },
1157
+ # match: {
1158
+ # prefix: "String",
1159
+ # },
1160
+ # },
1161
+ # },
1162
+ # virtual_router_name: "ResourceName", # required
1163
+ # }
1164
+ #
1165
+ # @!attribute [rw] client_token
1166
+ # Unique, case-sensitive identifier that you provide to ensure the
1167
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
1168
+ # underscores are allowed.
1169
+ #
1170
+ # **A suitable default value is auto-generated.** You should normally
1171
+ # not need to pass this option.
1172
+ # @return [String]
1173
+ #
1174
+ # @!attribute [rw] mesh_name
1175
+ # The name of the service mesh in which the route resides.
1176
+ # @return [String]
1177
+ #
1178
+ # @!attribute [rw] route_name
1179
+ # The name of the route to update.
1180
+ # @return [String]
1181
+ #
1182
+ # @!attribute [rw] spec
1183
+ # The new route specification to apply. This overwrites the existing
1184
+ # data.
1185
+ # @return [Types::RouteSpec]
1186
+ #
1187
+ # @!attribute [rw] virtual_router_name
1188
+ # The name of the virtual router with which the route is associated.
1189
+ # @return [String]
1190
+ #
1191
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/UpdateRouteInput AWS API Documentation
1192
+ #
1193
+ class UpdateRouteInput < Struct.new(
1194
+ :client_token,
1195
+ :mesh_name,
1196
+ :route_name,
1197
+ :spec,
1198
+ :virtual_router_name)
1199
+ include Aws::Structure
1200
+ end
1201
+
1202
+ # @note When making an API call, you may pass DescribeMeshInput
1203
+ # data as a hash:
1204
+ #
1205
+ # {
1206
+ # mesh_name: "ResourceName", # required
1207
+ # }
1208
+ #
1209
+ # @!attribute [rw] mesh_name
1210
+ # The name of the service mesh to describe.
1211
+ # @return [String]
1212
+ #
1213
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DescribeMeshInput AWS API Documentation
1214
+ #
1215
+ class DescribeMeshInput < Struct.new(
1216
+ :mesh_name)
1217
+ include Aws::Structure
1218
+ end
1219
+
1220
+ # @!attribute [rw] mesh
1221
+ # The full description of your service mesh.
1222
+ # @return [Types::MeshData]
1223
+ #
1224
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DescribeMeshOutput AWS API Documentation
1225
+ #
1226
+ class DescribeMeshOutput < Struct.new(
1227
+ :mesh)
1228
+ include Aws::Structure
1229
+ end
1230
+
1231
+ # An object representing a virtual router returned by a describe
1232
+ # operation.
1233
+ #
1234
+ # @!attribute [rw] mesh_name
1235
+ # The name of the service mesh in which the virtual router resides.
1236
+ # @return [String]
1237
+ #
1238
+ # @!attribute [rw] metadata
1239
+ # The associated metadata for the virtual router.
1240
+ # @return [Types::ResourceMetadata]
1241
+ #
1242
+ # @!attribute [rw] spec
1243
+ # The specifications of the virtual router.
1244
+ # @return [Types::VirtualRouterSpec]
1245
+ #
1246
+ # @!attribute [rw] status
1247
+ # The current status of the virtual router.
1248
+ # @return [Types::VirtualRouterStatus]
1249
+ #
1250
+ # @!attribute [rw] virtual_router_name
1251
+ # The name of the virtual router.
1252
+ # @return [String]
1253
+ #
1254
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/VirtualRouterData AWS API Documentation
1255
+ #
1256
+ class VirtualRouterData < Struct.new(
1257
+ :mesh_name,
1258
+ :metadata,
1259
+ :spec,
1260
+ :status,
1261
+ :virtual_router_name)
1262
+ include Aws::Structure
1263
+ end
1264
+
1265
+ # An object representing a listener for a virtual node.
1266
+ #
1267
+ # @note When making an API call, you may pass Listener
1268
+ # data as a hash:
1269
+ #
1270
+ # {
1271
+ # health_check: {
1272
+ # healthy_threshold: 1,
1273
+ # interval_millis: 1,
1274
+ # path: "String",
1275
+ # port: 1,
1276
+ # protocol: "http", # accepts http, tcp
1277
+ # timeout_millis: 1,
1278
+ # unhealthy_threshold: 1,
1279
+ # },
1280
+ # port_mapping: {
1281
+ # port: 1,
1282
+ # protocol: "http", # accepts http, tcp
1283
+ # },
1284
+ # }
1285
+ #
1286
+ # @!attribute [rw] health_check
1287
+ # The health check information for the listener.
1288
+ #
1289
+ # <note markdown="1"> Listener health checks are not available during the App Mesh
1290
+ # preview.
1291
+ #
1292
+ # </note>
1293
+ # @return [Types::HealthCheckPolicy]
1294
+ #
1295
+ # @!attribute [rw] port_mapping
1296
+ # The port mapping information for the listener.
1297
+ # @return [Types::PortMapping]
1298
+ #
1299
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/Listener AWS API Documentation
1300
+ #
1301
+ class Listener < Struct.new(
1302
+ :health_check,
1303
+ :port_mapping)
1304
+ include Aws::Structure
1305
+ end
1306
+
1307
+ # An object representing the health check policy for a virtual node's
1308
+ # listener.
1309
+ #
1310
+ # <note markdown="1"> Listener health checks are not available during the App Mesh preview.
1311
+ #
1312
+ # </note>
1313
+ #
1314
+ # @note When making an API call, you may pass HealthCheckPolicy
1315
+ # data as a hash:
1316
+ #
1317
+ # {
1318
+ # healthy_threshold: 1,
1319
+ # interval_millis: 1,
1320
+ # path: "String",
1321
+ # port: 1,
1322
+ # protocol: "http", # accepts http, tcp
1323
+ # timeout_millis: 1,
1324
+ # unhealthy_threshold: 1,
1325
+ # }
1326
+ #
1327
+ # @!attribute [rw] healthy_threshold
1328
+ # The number of consecutive successful health checks that must occur
1329
+ # before declaring listener healthy.
1330
+ # @return [Integer]
1331
+ #
1332
+ # @!attribute [rw] interval_millis
1333
+ # The time period in milliseconds between each health check execution.
1334
+ # @return [Integer]
1335
+ #
1336
+ # @!attribute [rw] path
1337
+ # The destination path for the health check request.
1338
+ # @return [String]
1339
+ #
1340
+ # @!attribute [rw] port
1341
+ # The destination port for the health check request.
1342
+ # @return [Integer]
1343
+ #
1344
+ # @!attribute [rw] protocol
1345
+ # The protocol for the health check request.
1346
+ # @return [String]
1347
+ #
1348
+ # @!attribute [rw] timeout_millis
1349
+ # The amount of time to wait when receiving a response from the health
1350
+ # check, in milliseconds.
1351
+ # @return [Integer]
1352
+ #
1353
+ # @!attribute [rw] unhealthy_threshold
1354
+ # The number of consecutive failed health checks that must occur
1355
+ # before declaring a virtual node unhealthy.
1356
+ # @return [Integer]
1357
+ #
1358
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/HealthCheckPolicy AWS API Documentation
1359
+ #
1360
+ class HealthCheckPolicy < Struct.new(
1361
+ :healthy_threshold,
1362
+ :interval_millis,
1363
+ :path,
1364
+ :port,
1365
+ :protocol,
1366
+ :timeout_millis,
1367
+ :unhealthy_threshold)
1368
+ include Aws::Structure
1369
+ end
1370
+
1371
+ # @note When making an API call, you may pass ListVirtualRoutersInput
1372
+ # data as a hash:
1373
+ #
1374
+ # {
1375
+ # limit: 1,
1376
+ # mesh_name: "ResourceName", # required
1377
+ # next_token: "String",
1378
+ # }
1379
+ #
1380
+ # @!attribute [rw] limit
1381
+ # The maximum number of mesh results returned by `ListVirtualRouters`
1382
+ # in paginated output. When this parameter is used,
1383
+ # `ListVirtualRouters` only returns `limit` results in a single page
1384
+ # along with a `nextToken` response element. The remaining results of
1385
+ # the initial request can be seen by sending another
1386
+ # `ListVirtualRouters` request with the returned `nextToken` value.
1387
+ # This value can be between 1 and 100. If this parameter is not used,
1388
+ # then `ListVirtualRouters` returns up to 100 results and a
1389
+ # `nextToken` value if applicable.
1390
+ # @return [Integer]
1391
+ #
1392
+ # @!attribute [rw] mesh_name
1393
+ # The name of the service mesh in which to list virtual routers.
1394
+ # @return [String]
1395
+ #
1396
+ # @!attribute [rw] next_token
1397
+ # The `nextToken` value returned from a previous paginated
1398
+ # `ListVirtualRouters` request where `limit` was used and the results
1399
+ # exceeded the value of that parameter. Pagination continues from the
1400
+ # end of the previous results that returned the `nextToken` value.
1401
+ # @return [String]
1402
+ #
1403
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/ListVirtualRoutersInput AWS API Documentation
1404
+ #
1405
+ class ListVirtualRoutersInput < Struct.new(
1406
+ :limit,
1407
+ :mesh_name,
1408
+ :next_token)
1409
+ include Aws::Structure
1410
+ end
1411
+
1412
+ # @note When making an API call, you may pass CreateVirtualNodeInput
1413
+ # data as a hash:
1414
+ #
1415
+ # {
1416
+ # client_token: "String",
1417
+ # mesh_name: "ResourceName", # required
1418
+ # spec: { # required
1419
+ # backends: ["ServiceName"],
1420
+ # listeners: [
1421
+ # {
1422
+ # health_check: {
1423
+ # healthy_threshold: 1,
1424
+ # interval_millis: 1,
1425
+ # path: "String",
1426
+ # port: 1,
1427
+ # protocol: "http", # accepts http, tcp
1428
+ # timeout_millis: 1,
1429
+ # unhealthy_threshold: 1,
1430
+ # },
1431
+ # port_mapping: {
1432
+ # port: 1,
1433
+ # protocol: "http", # accepts http, tcp
1434
+ # },
1435
+ # },
1436
+ # ],
1437
+ # service_discovery: {
1438
+ # dns: {
1439
+ # service_name: "ServiceName",
1440
+ # },
1441
+ # },
1442
+ # },
1443
+ # virtual_node_name: "ResourceName", # required
1444
+ # }
1445
+ #
1446
+ # @!attribute [rw] client_token
1447
+ # Unique, case-sensitive identifier that you provide to ensure the
1448
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
1449
+ # underscores are allowed.
1450
+ #
1451
+ # **A suitable default value is auto-generated.** You should normally
1452
+ # not need to pass this option.
1453
+ # @return [String]
1454
+ #
1455
+ # @!attribute [rw] mesh_name
1456
+ # The name of the service mesh in which to create the virtual node.
1457
+ # @return [String]
1458
+ #
1459
+ # @!attribute [rw] spec
1460
+ # The virtual node specification to apply.
1461
+ # @return [Types::VirtualNodeSpec]
1462
+ #
1463
+ # @!attribute [rw] virtual_node_name
1464
+ # The name to use for the virtual node.
1465
+ # @return [String]
1466
+ #
1467
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/CreateVirtualNodeInput AWS API Documentation
1468
+ #
1469
+ class CreateVirtualNodeInput < Struct.new(
1470
+ :client_token,
1471
+ :mesh_name,
1472
+ :spec,
1473
+ :virtual_node_name)
1474
+ include Aws::Structure
1475
+ end
1476
+
1477
+ # An object representing a service mesh returned by a describe
1478
+ # operation.
1479
+ #
1480
+ # @!attribute [rw] mesh_name
1481
+ # The name of the service mesh.
1482
+ # @return [String]
1483
+ #
1484
+ # @!attribute [rw] metadata
1485
+ # The associated metadata for the service mesh.
1486
+ # @return [Types::ResourceMetadata]
1487
+ #
1488
+ # @!attribute [rw] status
1489
+ # The status of the service mesh.
1490
+ # @return [Types::MeshStatus]
1491
+ #
1492
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/MeshData AWS API Documentation
1493
+ #
1494
+ class MeshData < Struct.new(
1495
+ :mesh_name,
1496
+ :metadata,
1497
+ :status)
1498
+ include Aws::Structure
1499
+ end
1500
+
1501
+ # @note When making an API call, you may pass DeleteMeshInput
1502
+ # data as a hash:
1503
+ #
1504
+ # {
1505
+ # mesh_name: "ResourceName", # required
1506
+ # }
1507
+ #
1508
+ # @!attribute [rw] mesh_name
1509
+ # The name of the service mesh to delete.
1510
+ # @return [String]
1511
+ #
1512
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DeleteMeshInput AWS API Documentation
1513
+ #
1514
+ class DeleteMeshInput < Struct.new(
1515
+ :mesh_name)
1516
+ include Aws::Structure
1517
+ end
1518
+
1519
+ # An object representing the requirements for a route to match HTTP
1520
+ # requests for a virtual router.
1521
+ #
1522
+ # @note When making an API call, you may pass HttpRouteMatch
1523
+ # data as a hash:
1524
+ #
1525
+ # {
1526
+ # prefix: "String",
1527
+ # }
1528
+ #
1529
+ # @!attribute [rw] prefix
1530
+ # Specifies the path with which to match requests. This parameter must
1531
+ # always start with `/`, which by itself matches all requests to the
1532
+ # virtual router service name. You can also match for path-based
1533
+ # routing of requests. For example, if your virtual router service
1534
+ # name is `my-service.local`, and you want the route to match requests
1535
+ # to `my-service.local/metrics`, then your prefix should be
1536
+ # `/metrics`.
1537
+ # @return [String]
1538
+ #
1539
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/HttpRouteMatch AWS API Documentation
1540
+ #
1541
+ class HttpRouteMatch < Struct.new(
1542
+ :prefix)
1543
+ include Aws::Structure
1544
+ end
1545
+
1546
+ # @!attribute [rw] route
1547
+ # The route that was deleted.
1548
+ # @return [Types::RouteData]
1549
+ #
1550
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DeleteRouteOutput AWS API Documentation
1551
+ #
1552
+ class DeleteRouteOutput < Struct.new(
1553
+ :route)
1554
+ include Aws::Structure
1555
+ end
1556
+
1557
+ # @note When making an API call, you may pass CreateRouteInput
1558
+ # data as a hash:
1559
+ #
1560
+ # {
1561
+ # client_token: "String",
1562
+ # mesh_name: "ResourceName", # required
1563
+ # route_name: "ResourceName", # required
1564
+ # spec: { # required
1565
+ # http_route: {
1566
+ # action: {
1567
+ # weighted_targets: [
1568
+ # {
1569
+ # virtual_node: "ResourceName",
1570
+ # weight: 1,
1571
+ # },
1572
+ # ],
1573
+ # },
1574
+ # match: {
1575
+ # prefix: "String",
1576
+ # },
1577
+ # },
1578
+ # },
1579
+ # virtual_router_name: "ResourceName", # required
1580
+ # }
1581
+ #
1582
+ # @!attribute [rw] client_token
1583
+ # Unique, case-sensitive identifier that you provide to ensure the
1584
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
1585
+ # underscores are allowed.
1586
+ #
1587
+ # **A suitable default value is auto-generated.** You should normally
1588
+ # not need to pass this option.
1589
+ # @return [String]
1590
+ #
1591
+ # @!attribute [rw] mesh_name
1592
+ # The name of the service mesh in which to create the route.
1593
+ # @return [String]
1594
+ #
1595
+ # @!attribute [rw] route_name
1596
+ # The name to use for the route.
1597
+ # @return [String]
1598
+ #
1599
+ # @!attribute [rw] spec
1600
+ # The route specification to apply.
1601
+ # @return [Types::RouteSpec]
1602
+ #
1603
+ # @!attribute [rw] virtual_router_name
1604
+ # The name of the virtual router in which to create the route.
1605
+ # @return [String]
1606
+ #
1607
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/CreateRouteInput AWS API Documentation
1608
+ #
1609
+ class CreateRouteInput < Struct.new(
1610
+ :client_token,
1611
+ :mesh_name,
1612
+ :route_name,
1613
+ :spec,
1614
+ :virtual_router_name)
1615
+ include Aws::Structure
1616
+ end
1617
+
1618
+ # An object representing the current status of the virtual node.
1619
+ #
1620
+ # @!attribute [rw] status
1621
+ # The current status of the virtual node.
1622
+ # @return [String]
1623
+ #
1624
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/VirtualNodeStatus AWS API Documentation
1625
+ #
1626
+ class VirtualNodeStatus < Struct.new(
1627
+ :status)
1628
+ include Aws::Structure
1629
+ end
1630
+
1631
+ # @note When making an API call, you may pass ListVirtualNodesInput
1632
+ # data as a hash:
1633
+ #
1634
+ # {
1635
+ # limit: 1,
1636
+ # mesh_name: "ResourceName", # required
1637
+ # next_token: "String",
1638
+ # }
1639
+ #
1640
+ # @!attribute [rw] limit
1641
+ # The maximum number of mesh results returned by `ListVirtualNodes` in
1642
+ # paginated output. When this parameter is used, `ListVirtualNodes`
1643
+ # only returns `limit` results in a single page along with a
1644
+ # `nextToken` response element. The remaining results of the initial
1645
+ # request can be seen by sending another `ListVirtualNodes` request
1646
+ # with the returned `nextToken` value. This value can be between 1 and
1647
+ # 100. If this parameter is not used, then `ListVirtualNodes` returns
1648
+ # up to 100 results and a `nextToken` value if applicable.
1649
+ # @return [Integer]
1650
+ #
1651
+ # @!attribute [rw] mesh_name
1652
+ # The name of the service mesh in which to list virtual nodes.
1653
+ # @return [String]
1654
+ #
1655
+ # @!attribute [rw] next_token
1656
+ # The `nextToken` value returned from a previous paginated
1657
+ # `ListVirtualNodes` request where `limit` was used and the results
1658
+ # exceeded the value of that parameter. Pagination continues from the
1659
+ # end of the previous results that returned the `nextToken` value.
1660
+ # @return [String]
1661
+ #
1662
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/ListVirtualNodesInput AWS API Documentation
1663
+ #
1664
+ class ListVirtualNodesInput < Struct.new(
1665
+ :limit,
1666
+ :mesh_name,
1667
+ :next_token)
1668
+ include Aws::Structure
1669
+ end
1670
+
1671
+ # An object representing a route returned by a list operation.
1672
+ #
1673
+ # @!attribute [rw] arn
1674
+ # The full Amazon Resource Name (ARN) for the route.
1675
+ # @return [String]
1676
+ #
1677
+ # @!attribute [rw] mesh_name
1678
+ # The name of the service mesh in which the route resides.
1679
+ # @return [String]
1680
+ #
1681
+ # @!attribute [rw] route_name
1682
+ # The name of the route.
1683
+ # @return [String]
1684
+ #
1685
+ # @!attribute [rw] virtual_router_name
1686
+ # The virtual router with which the route is associated.
1687
+ # @return [String]
1688
+ #
1689
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/RouteRef AWS API Documentation
1690
+ #
1691
+ class RouteRef < Struct.new(
1692
+ :arn,
1693
+ :mesh_name,
1694
+ :route_name,
1695
+ :virtual_router_name)
1696
+ include Aws::Structure
1697
+ end
1698
+
1699
+ # @!attribute [rw] virtual_node
1700
+ # A full description of the virtual node that was updated.
1701
+ # @return [Types::VirtualNodeData]
1702
+ #
1703
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/UpdateVirtualNodeOutput AWS API Documentation
1704
+ #
1705
+ class UpdateVirtualNodeOutput < Struct.new(
1706
+ :virtual_node)
1707
+ include Aws::Structure
1708
+ end
1709
+
1710
+ end
1711
+ end