aws-sdk-appmesh 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a58543e064e44ddbba8c576158e14fca1c10eb70
4
+ data.tar.gz: f67d934d4b2f61180c335ddefa6ab594e005decb
5
+ SHA512:
6
+ metadata.gz: cfa6d6caf315254cadd0a73b29644965479d139d54173edc9be5910cc3295c801d9ca3e341883321bf36f27306a817be24891e8afe87bd5dc50dae5d4b19b28b
7
+ data.tar.gz: 5ee5ceaf4084675dec24d3282884854525f89a68959cf4432e727696322c22b9349d7e7f48bc4ee815d25336adab4575a05c3e3d7849959994031c83e74ff5e3
@@ -0,0 +1,47 @@
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
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-appmesh/types'
12
+ require_relative 'aws-sdk-appmesh/client_api'
13
+ require_relative 'aws-sdk-appmesh/client'
14
+ require_relative 'aws-sdk-appmesh/errors'
15
+ require_relative 'aws-sdk-appmesh/resource'
16
+ require_relative 'aws-sdk-appmesh/customizations'
17
+
18
+ # This module provides support for AWS App Mesh. This module is available in the
19
+ # `aws-sdk-appmesh` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from AWS App Mesh all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::AppMesh::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::AppMesh
44
+
45
+ GEM_VERSION = '1.0.0'
46
+
47
+ end
@@ -0,0 +1,1340 @@
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
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
19
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
20
+ require 'aws-sdk-core/plugins/response_paging.rb'
21
+ require 'aws-sdk-core/plugins/stub_responses.rb'
22
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
23
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
+ require 'aws-sdk-core/plugins/signature_v4.rb'
27
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
28
+
29
+ Aws::Plugins::GlobalConfiguration.add_identifier(:appmesh)
30
+
31
+ module Aws::AppMesh
32
+ class Client < Seahorse::Client::Base
33
+
34
+ include Aws::ClientStubs
35
+
36
+ @identifier = :appmesh
37
+
38
+ set_api(ClientApi::API)
39
+
40
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
41
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
42
+ add_plugin(Aws::Plugins::Logging)
43
+ add_plugin(Aws::Plugins::ParamConverter)
44
+ add_plugin(Aws::Plugins::ParamValidator)
45
+ add_plugin(Aws::Plugins::UserAgent)
46
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
47
+ add_plugin(Aws::Plugins::RetryErrors)
48
+ add_plugin(Aws::Plugins::GlobalConfiguration)
49
+ add_plugin(Aws::Plugins::RegionalEndpoint)
50
+ add_plugin(Aws::Plugins::EndpointDiscovery)
51
+ add_plugin(Aws::Plugins::EndpointPattern)
52
+ add_plugin(Aws::Plugins::ResponsePaging)
53
+ add_plugin(Aws::Plugins::StubResponses)
54
+ add_plugin(Aws::Plugins::IdempotencyToken)
55
+ add_plugin(Aws::Plugins::JsonvalueConverter)
56
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
57
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
58
+ add_plugin(Aws::Plugins::SignatureV4)
59
+ add_plugin(Aws::Plugins::Protocols::RestJson)
60
+
61
+ # @overload initialize(options)
62
+ # @param [Hash] options
63
+ # @option options [required, Aws::CredentialProvider] :credentials
64
+ # Your AWS credentials. This can be an instance of any one of the
65
+ # following classes:
66
+ #
67
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
68
+ # credentials.
69
+ #
70
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
71
+ # from an EC2 IMDS on an EC2 instance.
72
+ #
73
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
74
+ # shared file, such as `~/.aws/config`.
75
+ #
76
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
77
+ #
78
+ # When `:credentials` are not configured directly, the following
79
+ # locations will be searched for credentials:
80
+ #
81
+ # * `Aws.config[:credentials]`
82
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
83
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
84
+ # * `~/.aws/credentials`
85
+ # * `~/.aws/config`
86
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
87
+ # very aggressive. Construct and pass an instance of
88
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
89
+ # timeouts.
90
+ #
91
+ # @option options [required, String] :region
92
+ # The AWS region to connect to. The configured `:region` is
93
+ # used to determine the service `:endpoint`. When not passed,
94
+ # a default `:region` is search for in the following locations:
95
+ #
96
+ # * `Aws.config[:region]`
97
+ # * `ENV['AWS_REGION']`
98
+ # * `ENV['AMAZON_REGION']`
99
+ # * `ENV['AWS_DEFAULT_REGION']`
100
+ # * `~/.aws/credentials`
101
+ # * `~/.aws/config`
102
+ #
103
+ # @option options [String] :access_key_id
104
+ #
105
+ # @option options [Boolean] :active_endpoint_cache (false)
106
+ # When set to `true`, a thread polling for endpoints will be running in
107
+ # the background every 60 secs (default). Defaults to `false`.
108
+ #
109
+ # @option options [Boolean] :client_side_monitoring (false)
110
+ # When `true`, client-side metrics will be collected for all API requests from
111
+ # this client.
112
+ #
113
+ # @option options [String] :client_side_monitoring_client_id ("")
114
+ # Allows you to provide an identifier for this client which will be attached to
115
+ # all generated client side metrics. Defaults to an empty string.
116
+ #
117
+ # @option options [Integer] :client_side_monitoring_port (31000)
118
+ # Required for publishing client metrics. The port that the client side monitoring
119
+ # agent is running on, where client metrics will be published via UDP.
120
+ #
121
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
122
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
123
+ # will use the Client Side Monitoring Agent Publisher.
124
+ #
125
+ # @option options [Boolean] :convert_params (true)
126
+ # When `true`, an attempt is made to coerce request parameters into
127
+ # the required types.
128
+ #
129
+ # @option options [Boolean] :disable_host_prefix_injection (false)
130
+ # Set to true to disable SDK automatically adding host prefix
131
+ # to default service endpoint when available.
132
+ #
133
+ # @option options [String] :endpoint
134
+ # The client endpoint is normally constructed from the `:region`
135
+ # option. You should only configure an `:endpoint` when connecting
136
+ # to test endpoints. This should be avalid HTTP(S) URI.
137
+ #
138
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
139
+ # Used for the maximum size limit of the LRU cache storing endpoints data
140
+ # for endpoint discovery enabled operations. Defaults to 1000.
141
+ #
142
+ # @option options [Integer] :endpoint_cache_max_threads (10)
143
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
144
+ #
145
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
146
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
147
+ # Use this option to config the time interval in seconds for making
148
+ # requests fetching endpoints information. Defaults to 60 sec.
149
+ #
150
+ # @option options [Boolean] :endpoint_discovery (false)
151
+ # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
152
+ #
153
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
154
+ # The log formatter.
155
+ #
156
+ # @option options [Symbol] :log_level (:info)
157
+ # The log level to send messages to the `:logger` at.
158
+ #
159
+ # @option options [Logger] :logger
160
+ # The Logger instance to send log messages to. If this option
161
+ # is not set, logging will be disabled.
162
+ #
163
+ # @option options [String] :profile ("default")
164
+ # Used when loading credentials from the shared credentials file
165
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
166
+ #
167
+ # @option options [Float] :retry_base_delay (0.3)
168
+ # The base delay in seconds used by the default backoff function.
169
+ #
170
+ # @option options [Symbol] :retry_jitter (:none)
171
+ # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
172
+ #
173
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
174
+ #
175
+ # @option options [Integer] :retry_limit (3)
176
+ # The maximum number of times to retry failed requests. Only
177
+ # ~ 500 level server errors and certain ~ 400 level client errors
178
+ # are retried. Generally, these are throttling errors, data
179
+ # checksum errors, networking errors, timeout errors and auth
180
+ # errors from expired credentials.
181
+ #
182
+ # @option options [Integer] :retry_max_delay (0)
183
+ # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
184
+ #
185
+ # @option options [String] :secret_access_key
186
+ #
187
+ # @option options [String] :session_token
188
+ #
189
+ # @option options [Boolean] :stub_responses (false)
190
+ # Causes the client to return stubbed responses. By default
191
+ # fake responses are generated and returned. You can specify
192
+ # the response data to return or errors to raise by calling
193
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
194
+ #
195
+ # ** Please note ** When response stubbing is enabled, no HTTP
196
+ # requests are made, and retries are disabled.
197
+ #
198
+ # @option options [Boolean] :validate_params (true)
199
+ # When `true`, request parameters are validated before
200
+ # sending the request.
201
+ #
202
+ def initialize(*args)
203
+ super
204
+ end
205
+
206
+ # @!group API Operations
207
+
208
+ # Creates a new service mesh. A service mesh is a logical boundary for
209
+ # network traffic between the services that reside within it.
210
+ #
211
+ # After you create your service mesh, you can create virtual nodes,
212
+ # virtual routers, and routes to distribute traffic between the
213
+ # applications in your mesh.
214
+ #
215
+ # @option params [String] :client_token
216
+ # Unique, case-sensitive identifier that you provide to ensure the
217
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
218
+ # underscores are allowed.
219
+ #
220
+ # **A suitable default value is auto-generated.** You should normally
221
+ # not need to pass this option.**
222
+ #
223
+ # @option params [required, String] :mesh_name
224
+ # The name to use for the service mesh.
225
+ #
226
+ # @return [Types::CreateMeshOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
227
+ #
228
+ # * {Types::CreateMeshOutput#mesh #mesh} => Types::MeshData
229
+ #
230
+ # @example Request syntax with placeholder values
231
+ #
232
+ # resp = client.create_mesh({
233
+ # client_token: "String",
234
+ # mesh_name: "ResourceName", # required
235
+ # })
236
+ #
237
+ # @example Response structure
238
+ #
239
+ # resp.mesh.mesh_name #=> String
240
+ # resp.mesh.metadata.arn #=> String
241
+ # resp.mesh.metadata.created_at #=> Time
242
+ # resp.mesh.metadata.last_updated_at #=> Time
243
+ # resp.mesh.metadata.uid #=> String
244
+ # resp.mesh.metadata.version #=> Integer
245
+ # resp.mesh.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
246
+ #
247
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/CreateMesh AWS API Documentation
248
+ #
249
+ # @overload create_mesh(params = {})
250
+ # @param [Hash] params ({})
251
+ def create_mesh(params = {}, options = {})
252
+ req = build_request(:create_mesh, params)
253
+ req.send_request(options)
254
+ end
255
+
256
+ # Creates a new route that is associated with a virtual router.
257
+ #
258
+ # You can use the `prefix` parameter in your route specification for
259
+ # path-based routing of requests. For example, if your virtual router
260
+ # service name is `my-service.local`, and you want the route to match
261
+ # requests to `my-service.local/metrics`, then your prefix should be
262
+ # `/metrics`.
263
+ #
264
+ # If your route matches a request, you can distribute traffic to one or
265
+ # more target virtual nodes with relative weighting.
266
+ #
267
+ # @option params [String] :client_token
268
+ # Unique, case-sensitive identifier that you provide to ensure the
269
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
270
+ # underscores are allowed.
271
+ #
272
+ # **A suitable default value is auto-generated.** You should normally
273
+ # not need to pass this option.**
274
+ #
275
+ # @option params [required, String] :mesh_name
276
+ # The name of the service mesh in which to create the route.
277
+ #
278
+ # @option params [required, String] :route_name
279
+ # The name to use for the route.
280
+ #
281
+ # @option params [required, Types::RouteSpec] :spec
282
+ # The route specification to apply.
283
+ #
284
+ # @option params [required, String] :virtual_router_name
285
+ # The name of the virtual router in which to create the route.
286
+ #
287
+ # @return [Types::CreateRouteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
288
+ #
289
+ # * {Types::CreateRouteOutput#route #route} => Types::RouteData
290
+ #
291
+ # @example Request syntax with placeholder values
292
+ #
293
+ # resp = client.create_route({
294
+ # client_token: "String",
295
+ # mesh_name: "ResourceName", # required
296
+ # route_name: "ResourceName", # required
297
+ # spec: { # required
298
+ # http_route: {
299
+ # action: {
300
+ # weighted_targets: [
301
+ # {
302
+ # virtual_node: "ResourceName",
303
+ # weight: 1,
304
+ # },
305
+ # ],
306
+ # },
307
+ # match: {
308
+ # prefix: "String",
309
+ # },
310
+ # },
311
+ # },
312
+ # virtual_router_name: "ResourceName", # required
313
+ # })
314
+ #
315
+ # @example Response structure
316
+ #
317
+ # resp.route.mesh_name #=> String
318
+ # resp.route.metadata.arn #=> String
319
+ # resp.route.metadata.created_at #=> Time
320
+ # resp.route.metadata.last_updated_at #=> Time
321
+ # resp.route.metadata.uid #=> String
322
+ # resp.route.metadata.version #=> Integer
323
+ # resp.route.route_name #=> String
324
+ # resp.route.spec.http_route.action.weighted_targets #=> Array
325
+ # resp.route.spec.http_route.action.weighted_targets[0].virtual_node #=> String
326
+ # resp.route.spec.http_route.action.weighted_targets[0].weight #=> Integer
327
+ # resp.route.spec.http_route.match.prefix #=> String
328
+ # resp.route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
329
+ # resp.route.virtual_router_name #=> String
330
+ #
331
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/CreateRoute AWS API Documentation
332
+ #
333
+ # @overload create_route(params = {})
334
+ # @param [Hash] params ({})
335
+ def create_route(params = {}, options = {})
336
+ req = build_request(:create_route, params)
337
+ req.send_request(options)
338
+ end
339
+
340
+ # Creates a new virtual node within a service mesh.
341
+ #
342
+ # A virtual node acts as logical pointer to a particular task group,
343
+ # such as an Amazon ECS service or a Kubernetes deployment. When you
344
+ # create a virtual node, you must specify the DNS service discovery name
345
+ # for your task group.
346
+ #
347
+ # Any inbound traffic that your virtual node expects should be specified
348
+ # as a `listener`. Any outbound traffic that your virtual node expects
349
+ # to reach should be specified as a `backend`.
350
+ #
351
+ # The response metadata for your new virtual node contains the `arn`
352
+ # that is associated with the virtual node. Set this value (either the
353
+ # full ARN or the truncated resource name, for example,
354
+ # `mesh/default/virtualNode/simpleapp`, as the
355
+ # `APPMESH_VIRTUAL_NODE_NAME` environment variable for your task
356
+ # group's Envoy proxy container in your task definition or pod spec.
357
+ # This is then mapped to the `node.id` and `node.cluster` Envoy
358
+ # parameters.
359
+ #
360
+ # <note markdown="1"> If you require your Envoy stats or tracing to use a different name,
361
+ # you can override the `node.cluster` value that is set by
362
+ # `APPMESH_VIRTUAL_NODE_NAME` with the `APPMESH_VIRTUAL_NODE_CLUSTER`
363
+ # environment variable.
364
+ #
365
+ # </note>
366
+ #
367
+ # @option params [String] :client_token
368
+ # Unique, case-sensitive identifier that you provide to ensure the
369
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
370
+ # underscores are allowed.
371
+ #
372
+ # **A suitable default value is auto-generated.** You should normally
373
+ # not need to pass this option.**
374
+ #
375
+ # @option params [required, String] :mesh_name
376
+ # The name of the service mesh in which to create the virtual node.
377
+ #
378
+ # @option params [required, Types::VirtualNodeSpec] :spec
379
+ # The virtual node specification to apply.
380
+ #
381
+ # @option params [required, String] :virtual_node_name
382
+ # The name to use for the virtual node.
383
+ #
384
+ # @return [Types::CreateVirtualNodeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
385
+ #
386
+ # * {Types::CreateVirtualNodeOutput#virtual_node #virtual_node} => Types::VirtualNodeData
387
+ #
388
+ # @example Request syntax with placeholder values
389
+ #
390
+ # resp = client.create_virtual_node({
391
+ # client_token: "String",
392
+ # mesh_name: "ResourceName", # required
393
+ # spec: { # required
394
+ # backends: ["ServiceName"],
395
+ # listeners: [
396
+ # {
397
+ # health_check: {
398
+ # healthy_threshold: 1,
399
+ # interval_millis: 1,
400
+ # path: "String",
401
+ # port: 1,
402
+ # protocol: "http", # accepts http, tcp
403
+ # timeout_millis: 1,
404
+ # unhealthy_threshold: 1,
405
+ # },
406
+ # port_mapping: {
407
+ # port: 1,
408
+ # protocol: "http", # accepts http, tcp
409
+ # },
410
+ # },
411
+ # ],
412
+ # service_discovery: {
413
+ # dns: {
414
+ # service_name: "ServiceName",
415
+ # },
416
+ # },
417
+ # },
418
+ # virtual_node_name: "ResourceName", # required
419
+ # })
420
+ #
421
+ # @example Response structure
422
+ #
423
+ # resp.virtual_node.mesh_name #=> String
424
+ # resp.virtual_node.metadata.arn #=> String
425
+ # resp.virtual_node.metadata.created_at #=> Time
426
+ # resp.virtual_node.metadata.last_updated_at #=> Time
427
+ # resp.virtual_node.metadata.uid #=> String
428
+ # resp.virtual_node.metadata.version #=> Integer
429
+ # resp.virtual_node.spec.backends #=> Array
430
+ # resp.virtual_node.spec.backends[0] #=> String
431
+ # resp.virtual_node.spec.listeners #=> Array
432
+ # resp.virtual_node.spec.listeners[0].health_check.healthy_threshold #=> Integer
433
+ # resp.virtual_node.spec.listeners[0].health_check.interval_millis #=> Integer
434
+ # resp.virtual_node.spec.listeners[0].health_check.path #=> String
435
+ # resp.virtual_node.spec.listeners[0].health_check.port #=> Integer
436
+ # resp.virtual_node.spec.listeners[0].health_check.protocol #=> String, one of "http", "tcp"
437
+ # resp.virtual_node.spec.listeners[0].health_check.timeout_millis #=> Integer
438
+ # resp.virtual_node.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
439
+ # resp.virtual_node.spec.listeners[0].port_mapping.port #=> Integer
440
+ # resp.virtual_node.spec.listeners[0].port_mapping.protocol #=> String, one of "http", "tcp"
441
+ # resp.virtual_node.spec.service_discovery.dns.service_name #=> String
442
+ # resp.virtual_node.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
443
+ # resp.virtual_node.virtual_node_name #=> String
444
+ #
445
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/CreateVirtualNode AWS API Documentation
446
+ #
447
+ # @overload create_virtual_node(params = {})
448
+ # @param [Hash] params ({})
449
+ def create_virtual_node(params = {}, options = {})
450
+ req = build_request(:create_virtual_node, params)
451
+ req.send_request(options)
452
+ end
453
+
454
+ # Creates a new virtual router within a service mesh.
455
+ #
456
+ # Virtual routers handle traffic for one or more service names within
457
+ # your mesh. After you create your virtual router, create and associate
458
+ # routes for your virtual router that direct incoming requests to
459
+ # different virtual nodes.
460
+ #
461
+ # @option params [String] :client_token
462
+ # Unique, case-sensitive identifier that you provide to ensure the
463
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
464
+ # underscores are allowed.
465
+ #
466
+ # **A suitable default value is auto-generated.** You should normally
467
+ # not need to pass this option.**
468
+ #
469
+ # @option params [required, String] :mesh_name
470
+ # The name of the service mesh in which to create the virtual router.
471
+ #
472
+ # @option params [required, Types::VirtualRouterSpec] :spec
473
+ # The virtual router specification to apply.
474
+ #
475
+ # @option params [required, String] :virtual_router_name
476
+ # The name to use for the virtual router.
477
+ #
478
+ # @return [Types::CreateVirtualRouterOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
479
+ #
480
+ # * {Types::CreateVirtualRouterOutput#virtual_router #virtual_router} => Types::VirtualRouterData
481
+ #
482
+ # @example Request syntax with placeholder values
483
+ #
484
+ # resp = client.create_virtual_router({
485
+ # client_token: "String",
486
+ # mesh_name: "ResourceName", # required
487
+ # spec: { # required
488
+ # service_names: ["ServiceName"],
489
+ # },
490
+ # virtual_router_name: "ResourceName", # required
491
+ # })
492
+ #
493
+ # @example Response structure
494
+ #
495
+ # resp.virtual_router.mesh_name #=> String
496
+ # resp.virtual_router.metadata.arn #=> String
497
+ # resp.virtual_router.metadata.created_at #=> Time
498
+ # resp.virtual_router.metadata.last_updated_at #=> Time
499
+ # resp.virtual_router.metadata.uid #=> String
500
+ # resp.virtual_router.metadata.version #=> Integer
501
+ # resp.virtual_router.spec.service_names #=> Array
502
+ # resp.virtual_router.spec.service_names[0] #=> String
503
+ # resp.virtual_router.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
504
+ # resp.virtual_router.virtual_router_name #=> String
505
+ #
506
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/CreateVirtualRouter AWS API Documentation
507
+ #
508
+ # @overload create_virtual_router(params = {})
509
+ # @param [Hash] params ({})
510
+ def create_virtual_router(params = {}, options = {})
511
+ req = build_request(:create_virtual_router, params)
512
+ req.send_request(options)
513
+ end
514
+
515
+ # Deletes an existing service mesh.
516
+ #
517
+ # You must delete all resources (routes, virtual routers, virtual nodes)
518
+ # in the service mesh before you can delete the mesh itself.
519
+ #
520
+ # @option params [required, String] :mesh_name
521
+ # The name of the service mesh to delete.
522
+ #
523
+ # @return [Types::DeleteMeshOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
524
+ #
525
+ # * {Types::DeleteMeshOutput#mesh #mesh} => Types::MeshData
526
+ #
527
+ # @example Request syntax with placeholder values
528
+ #
529
+ # resp = client.delete_mesh({
530
+ # mesh_name: "ResourceName", # required
531
+ # })
532
+ #
533
+ # @example Response structure
534
+ #
535
+ # resp.mesh.mesh_name #=> String
536
+ # resp.mesh.metadata.arn #=> String
537
+ # resp.mesh.metadata.created_at #=> Time
538
+ # resp.mesh.metadata.last_updated_at #=> Time
539
+ # resp.mesh.metadata.uid #=> String
540
+ # resp.mesh.metadata.version #=> Integer
541
+ # resp.mesh.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
542
+ #
543
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DeleteMesh AWS API Documentation
544
+ #
545
+ # @overload delete_mesh(params = {})
546
+ # @param [Hash] params ({})
547
+ def delete_mesh(params = {}, options = {})
548
+ req = build_request(:delete_mesh, params)
549
+ req.send_request(options)
550
+ end
551
+
552
+ # Deletes an existing route.
553
+ #
554
+ # @option params [required, String] :mesh_name
555
+ # The name of the service mesh in which to delete the route.
556
+ #
557
+ # @option params [required, String] :route_name
558
+ # The name of the route to delete.
559
+ #
560
+ # @option params [required, String] :virtual_router_name
561
+ # The name of the virtual router in which to delete the route.
562
+ #
563
+ # @return [Types::DeleteRouteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
564
+ #
565
+ # * {Types::DeleteRouteOutput#route #route} => Types::RouteData
566
+ #
567
+ # @example Request syntax with placeholder values
568
+ #
569
+ # resp = client.delete_route({
570
+ # mesh_name: "ResourceName", # required
571
+ # route_name: "ResourceName", # required
572
+ # virtual_router_name: "ResourceName", # required
573
+ # })
574
+ #
575
+ # @example Response structure
576
+ #
577
+ # resp.route.mesh_name #=> String
578
+ # resp.route.metadata.arn #=> String
579
+ # resp.route.metadata.created_at #=> Time
580
+ # resp.route.metadata.last_updated_at #=> Time
581
+ # resp.route.metadata.uid #=> String
582
+ # resp.route.metadata.version #=> Integer
583
+ # resp.route.route_name #=> String
584
+ # resp.route.spec.http_route.action.weighted_targets #=> Array
585
+ # resp.route.spec.http_route.action.weighted_targets[0].virtual_node #=> String
586
+ # resp.route.spec.http_route.action.weighted_targets[0].weight #=> Integer
587
+ # resp.route.spec.http_route.match.prefix #=> String
588
+ # resp.route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
589
+ # resp.route.virtual_router_name #=> String
590
+ #
591
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DeleteRoute AWS API Documentation
592
+ #
593
+ # @overload delete_route(params = {})
594
+ # @param [Hash] params ({})
595
+ def delete_route(params = {}, options = {})
596
+ req = build_request(:delete_route, params)
597
+ req.send_request(options)
598
+ end
599
+
600
+ # Deletes an existing virtual node.
601
+ #
602
+ # @option params [required, String] :mesh_name
603
+ # The name of the service mesh in which to delete the virtual node.
604
+ #
605
+ # @option params [required, String] :virtual_node_name
606
+ # The name of the virtual node to delete.
607
+ #
608
+ # @return [Types::DeleteVirtualNodeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
609
+ #
610
+ # * {Types::DeleteVirtualNodeOutput#virtual_node #virtual_node} => Types::VirtualNodeData
611
+ #
612
+ # @example Request syntax with placeholder values
613
+ #
614
+ # resp = client.delete_virtual_node({
615
+ # mesh_name: "ResourceName", # required
616
+ # virtual_node_name: "ResourceName", # required
617
+ # })
618
+ #
619
+ # @example Response structure
620
+ #
621
+ # resp.virtual_node.mesh_name #=> String
622
+ # resp.virtual_node.metadata.arn #=> String
623
+ # resp.virtual_node.metadata.created_at #=> Time
624
+ # resp.virtual_node.metadata.last_updated_at #=> Time
625
+ # resp.virtual_node.metadata.uid #=> String
626
+ # resp.virtual_node.metadata.version #=> Integer
627
+ # resp.virtual_node.spec.backends #=> Array
628
+ # resp.virtual_node.spec.backends[0] #=> String
629
+ # resp.virtual_node.spec.listeners #=> Array
630
+ # resp.virtual_node.spec.listeners[0].health_check.healthy_threshold #=> Integer
631
+ # resp.virtual_node.spec.listeners[0].health_check.interval_millis #=> Integer
632
+ # resp.virtual_node.spec.listeners[0].health_check.path #=> String
633
+ # resp.virtual_node.spec.listeners[0].health_check.port #=> Integer
634
+ # resp.virtual_node.spec.listeners[0].health_check.protocol #=> String, one of "http", "tcp"
635
+ # resp.virtual_node.spec.listeners[0].health_check.timeout_millis #=> Integer
636
+ # resp.virtual_node.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
637
+ # resp.virtual_node.spec.listeners[0].port_mapping.port #=> Integer
638
+ # resp.virtual_node.spec.listeners[0].port_mapping.protocol #=> String, one of "http", "tcp"
639
+ # resp.virtual_node.spec.service_discovery.dns.service_name #=> String
640
+ # resp.virtual_node.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
641
+ # resp.virtual_node.virtual_node_name #=> String
642
+ #
643
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DeleteVirtualNode AWS API Documentation
644
+ #
645
+ # @overload delete_virtual_node(params = {})
646
+ # @param [Hash] params ({})
647
+ def delete_virtual_node(params = {}, options = {})
648
+ req = build_request(:delete_virtual_node, params)
649
+ req.send_request(options)
650
+ end
651
+
652
+ # Deletes an existing virtual router.
653
+ #
654
+ # You must delete any routes associated with the virtual router before
655
+ # you can delete the router itself.
656
+ #
657
+ # @option params [required, String] :mesh_name
658
+ # The name of the service mesh in which to delete the virtual router.
659
+ #
660
+ # @option params [required, String] :virtual_router_name
661
+ # The name of the virtual router to delete.
662
+ #
663
+ # @return [Types::DeleteVirtualRouterOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
664
+ #
665
+ # * {Types::DeleteVirtualRouterOutput#virtual_router #virtual_router} => Types::VirtualRouterData
666
+ #
667
+ # @example Request syntax with placeholder values
668
+ #
669
+ # resp = client.delete_virtual_router({
670
+ # mesh_name: "ResourceName", # required
671
+ # virtual_router_name: "ResourceName", # required
672
+ # })
673
+ #
674
+ # @example Response structure
675
+ #
676
+ # resp.virtual_router.mesh_name #=> String
677
+ # resp.virtual_router.metadata.arn #=> String
678
+ # resp.virtual_router.metadata.created_at #=> Time
679
+ # resp.virtual_router.metadata.last_updated_at #=> Time
680
+ # resp.virtual_router.metadata.uid #=> String
681
+ # resp.virtual_router.metadata.version #=> Integer
682
+ # resp.virtual_router.spec.service_names #=> Array
683
+ # resp.virtual_router.spec.service_names[0] #=> String
684
+ # resp.virtual_router.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
685
+ # resp.virtual_router.virtual_router_name #=> String
686
+ #
687
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DeleteVirtualRouter AWS API Documentation
688
+ #
689
+ # @overload delete_virtual_router(params = {})
690
+ # @param [Hash] params ({})
691
+ def delete_virtual_router(params = {}, options = {})
692
+ req = build_request(:delete_virtual_router, params)
693
+ req.send_request(options)
694
+ end
695
+
696
+ # Describes an existing cluster.
697
+ #
698
+ # @option params [required, String] :mesh_name
699
+ # The name of the service mesh to describe.
700
+ #
701
+ # @return [Types::DescribeMeshOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
702
+ #
703
+ # * {Types::DescribeMeshOutput#mesh #mesh} => Types::MeshData
704
+ #
705
+ # @example Request syntax with placeholder values
706
+ #
707
+ # resp = client.describe_mesh({
708
+ # mesh_name: "ResourceName", # required
709
+ # })
710
+ #
711
+ # @example Response structure
712
+ #
713
+ # resp.mesh.mesh_name #=> String
714
+ # resp.mesh.metadata.arn #=> String
715
+ # resp.mesh.metadata.created_at #=> Time
716
+ # resp.mesh.metadata.last_updated_at #=> Time
717
+ # resp.mesh.metadata.uid #=> String
718
+ # resp.mesh.metadata.version #=> Integer
719
+ # resp.mesh.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
720
+ #
721
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DescribeMesh AWS API Documentation
722
+ #
723
+ # @overload describe_mesh(params = {})
724
+ # @param [Hash] params ({})
725
+ def describe_mesh(params = {}, options = {})
726
+ req = build_request(:describe_mesh, params)
727
+ req.send_request(options)
728
+ end
729
+
730
+ # Describes an existing route.
731
+ #
732
+ # @option params [required, String] :mesh_name
733
+ # The name of the service mesh in which the route resides.
734
+ #
735
+ # @option params [required, String] :route_name
736
+ # The name of the route to describe.
737
+ #
738
+ # @option params [required, String] :virtual_router_name
739
+ # The name of the virtual router with which the route is associated.
740
+ #
741
+ # @return [Types::DescribeRouteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
742
+ #
743
+ # * {Types::DescribeRouteOutput#route #route} => Types::RouteData
744
+ #
745
+ # @example Request syntax with placeholder values
746
+ #
747
+ # resp = client.describe_route({
748
+ # mesh_name: "ResourceName", # required
749
+ # route_name: "ResourceName", # required
750
+ # virtual_router_name: "ResourceName", # required
751
+ # })
752
+ #
753
+ # @example Response structure
754
+ #
755
+ # resp.route.mesh_name #=> String
756
+ # resp.route.metadata.arn #=> String
757
+ # resp.route.metadata.created_at #=> Time
758
+ # resp.route.metadata.last_updated_at #=> Time
759
+ # resp.route.metadata.uid #=> String
760
+ # resp.route.metadata.version #=> Integer
761
+ # resp.route.route_name #=> String
762
+ # resp.route.spec.http_route.action.weighted_targets #=> Array
763
+ # resp.route.spec.http_route.action.weighted_targets[0].virtual_node #=> String
764
+ # resp.route.spec.http_route.action.weighted_targets[0].weight #=> Integer
765
+ # resp.route.spec.http_route.match.prefix #=> String
766
+ # resp.route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
767
+ # resp.route.virtual_router_name #=> String
768
+ #
769
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DescribeRoute AWS API Documentation
770
+ #
771
+ # @overload describe_route(params = {})
772
+ # @param [Hash] params ({})
773
+ def describe_route(params = {}, options = {})
774
+ req = build_request(:describe_route, params)
775
+ req.send_request(options)
776
+ end
777
+
778
+ # Describes an existing virtual node.
779
+ #
780
+ # @option params [required, String] :mesh_name
781
+ # The name of the service mesh in which the virtual node resides.
782
+ #
783
+ # @option params [required, String] :virtual_node_name
784
+ # The name of the virtual node to describe.
785
+ #
786
+ # @return [Types::DescribeVirtualNodeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
787
+ #
788
+ # * {Types::DescribeVirtualNodeOutput#virtual_node #virtual_node} => Types::VirtualNodeData
789
+ #
790
+ # @example Request syntax with placeholder values
791
+ #
792
+ # resp = client.describe_virtual_node({
793
+ # mesh_name: "ResourceName", # required
794
+ # virtual_node_name: "ResourceName", # required
795
+ # })
796
+ #
797
+ # @example Response structure
798
+ #
799
+ # resp.virtual_node.mesh_name #=> String
800
+ # resp.virtual_node.metadata.arn #=> String
801
+ # resp.virtual_node.metadata.created_at #=> Time
802
+ # resp.virtual_node.metadata.last_updated_at #=> Time
803
+ # resp.virtual_node.metadata.uid #=> String
804
+ # resp.virtual_node.metadata.version #=> Integer
805
+ # resp.virtual_node.spec.backends #=> Array
806
+ # resp.virtual_node.spec.backends[0] #=> String
807
+ # resp.virtual_node.spec.listeners #=> Array
808
+ # resp.virtual_node.spec.listeners[0].health_check.healthy_threshold #=> Integer
809
+ # resp.virtual_node.spec.listeners[0].health_check.interval_millis #=> Integer
810
+ # resp.virtual_node.spec.listeners[0].health_check.path #=> String
811
+ # resp.virtual_node.spec.listeners[0].health_check.port #=> Integer
812
+ # resp.virtual_node.spec.listeners[0].health_check.protocol #=> String, one of "http", "tcp"
813
+ # resp.virtual_node.spec.listeners[0].health_check.timeout_millis #=> Integer
814
+ # resp.virtual_node.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
815
+ # resp.virtual_node.spec.listeners[0].port_mapping.port #=> Integer
816
+ # resp.virtual_node.spec.listeners[0].port_mapping.protocol #=> String, one of "http", "tcp"
817
+ # resp.virtual_node.spec.service_discovery.dns.service_name #=> String
818
+ # resp.virtual_node.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
819
+ # resp.virtual_node.virtual_node_name #=> String
820
+ #
821
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DescribeVirtualNode AWS API Documentation
822
+ #
823
+ # @overload describe_virtual_node(params = {})
824
+ # @param [Hash] params ({})
825
+ def describe_virtual_node(params = {}, options = {})
826
+ req = build_request(:describe_virtual_node, params)
827
+ req.send_request(options)
828
+ end
829
+
830
+ # Describes an existing virtual router.
831
+ #
832
+ # @option params [required, String] :mesh_name
833
+ # The name of the service mesh in which the virtual router resides.
834
+ #
835
+ # @option params [required, String] :virtual_router_name
836
+ # The name of the virtual router to describe.
837
+ #
838
+ # @return [Types::DescribeVirtualRouterOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
839
+ #
840
+ # * {Types::DescribeVirtualRouterOutput#virtual_router #virtual_router} => Types::VirtualRouterData
841
+ #
842
+ # @example Request syntax with placeholder values
843
+ #
844
+ # resp = client.describe_virtual_router({
845
+ # mesh_name: "ResourceName", # required
846
+ # virtual_router_name: "ResourceName", # required
847
+ # })
848
+ #
849
+ # @example Response structure
850
+ #
851
+ # resp.virtual_router.mesh_name #=> String
852
+ # resp.virtual_router.metadata.arn #=> String
853
+ # resp.virtual_router.metadata.created_at #=> Time
854
+ # resp.virtual_router.metadata.last_updated_at #=> Time
855
+ # resp.virtual_router.metadata.uid #=> String
856
+ # resp.virtual_router.metadata.version #=> Integer
857
+ # resp.virtual_router.spec.service_names #=> Array
858
+ # resp.virtual_router.spec.service_names[0] #=> String
859
+ # resp.virtual_router.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
860
+ # resp.virtual_router.virtual_router_name #=> String
861
+ #
862
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/DescribeVirtualRouter AWS API Documentation
863
+ #
864
+ # @overload describe_virtual_router(params = {})
865
+ # @param [Hash] params ({})
866
+ def describe_virtual_router(params = {}, options = {})
867
+ req = build_request(:describe_virtual_router, params)
868
+ req.send_request(options)
869
+ end
870
+
871
+ # Returns a list of existing service meshes.
872
+ #
873
+ # @option params [Integer] :limit
874
+ # The maximum number of mesh results returned by `ListMeshes` in
875
+ # paginated output. When this parameter is used, `ListMeshes` only
876
+ # returns `limit` results in a single page along with a `nextToken`
877
+ # response element. The remaining results of the initial request can be
878
+ # seen by sending another `ListMeshes` request with the returned
879
+ # `nextToken` value. This value can be between 1 and 100. If this
880
+ # parameter is not used, then `ListMeshes` returns up to 100 results and
881
+ # a `nextToken` value if applicable.
882
+ #
883
+ # @option params [String] :next_token
884
+ # The `nextToken` value returned from a previous paginated `ListMeshes`
885
+ # request where `limit` was used and the results exceeded the value of
886
+ # that parameter. Pagination continues from the end of the previous
887
+ # results that returned the `nextToken` value.
888
+ #
889
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only used
890
+ # to retrieve the next items in a list and not for other programmatic
891
+ # purposes.
892
+ #
893
+ # </note>
894
+ #
895
+ # @return [Types::ListMeshesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
896
+ #
897
+ # * {Types::ListMeshesOutput#meshes #meshes} => Array&lt;Types::MeshRef&gt;
898
+ # * {Types::ListMeshesOutput#next_token #next_token} => String
899
+ #
900
+ # @example Request syntax with placeholder values
901
+ #
902
+ # resp = client.list_meshes({
903
+ # limit: 1,
904
+ # next_token: "String",
905
+ # })
906
+ #
907
+ # @example Response structure
908
+ #
909
+ # resp.meshes #=> Array
910
+ # resp.meshes[0].arn #=> String
911
+ # resp.meshes[0].mesh_name #=> String
912
+ # resp.next_token #=> String
913
+ #
914
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/ListMeshes AWS API Documentation
915
+ #
916
+ # @overload list_meshes(params = {})
917
+ # @param [Hash] params ({})
918
+ def list_meshes(params = {}, options = {})
919
+ req = build_request(:list_meshes, params)
920
+ req.send_request(options)
921
+ end
922
+
923
+ # Returns a list of existing routes in a service mesh.
924
+ #
925
+ # @option params [Integer] :limit
926
+ # The maximum number of mesh results returned by `ListRoutes` in
927
+ # paginated output. When this parameter is used, `ListRoutes` only
928
+ # returns `limit` results in a single page along with a `nextToken`
929
+ # response element. The remaining results of the initial request can be
930
+ # seen by sending another `ListRoutes` request with the returned
931
+ # `nextToken` value. This value can be between 1 and 100. If this
932
+ # parameter is not used, then `ListRoutes` returns up to 100 results and
933
+ # a `nextToken` value if applicable.
934
+ #
935
+ # @option params [required, String] :mesh_name
936
+ # The name of the service mesh in which to list routes.
937
+ #
938
+ # @option params [String] :next_token
939
+ # The `nextToken` value returned from a previous paginated `ListRoutes`
940
+ # request where `limit` was used and the results exceeded the value of
941
+ # that parameter. Pagination continues from the end of the previous
942
+ # results that returned the `nextToken` value.
943
+ #
944
+ # @option params [required, String] :virtual_router_name
945
+ # The name of the virtual router in which to list routes.
946
+ #
947
+ # @return [Types::ListRoutesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
948
+ #
949
+ # * {Types::ListRoutesOutput#next_token #next_token} => String
950
+ # * {Types::ListRoutesOutput#routes #routes} => Array&lt;Types::RouteRef&gt;
951
+ #
952
+ # @example Request syntax with placeholder values
953
+ #
954
+ # resp = client.list_routes({
955
+ # limit: 1,
956
+ # mesh_name: "ResourceName", # required
957
+ # next_token: "String",
958
+ # virtual_router_name: "ResourceName", # required
959
+ # })
960
+ #
961
+ # @example Response structure
962
+ #
963
+ # resp.next_token #=> String
964
+ # resp.routes #=> Array
965
+ # resp.routes[0].arn #=> String
966
+ # resp.routes[0].mesh_name #=> String
967
+ # resp.routes[0].route_name #=> String
968
+ # resp.routes[0].virtual_router_name #=> String
969
+ #
970
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/ListRoutes AWS API Documentation
971
+ #
972
+ # @overload list_routes(params = {})
973
+ # @param [Hash] params ({})
974
+ def list_routes(params = {}, options = {})
975
+ req = build_request(:list_routes, params)
976
+ req.send_request(options)
977
+ end
978
+
979
+ # Returns a list of existing virtual nodes.
980
+ #
981
+ # @option params [Integer] :limit
982
+ # The maximum number of mesh results returned by `ListVirtualNodes` in
983
+ # paginated output. When this parameter is used, `ListVirtualNodes` only
984
+ # returns `limit` results in a single page along with a `nextToken`
985
+ # response element. The remaining results of the initial request can be
986
+ # seen by sending another `ListVirtualNodes` request with the returned
987
+ # `nextToken` value. This value can be between 1 and 100. If this
988
+ # parameter is not used, then `ListVirtualNodes` returns up to 100
989
+ # results and a `nextToken` value if applicable.
990
+ #
991
+ # @option params [required, String] :mesh_name
992
+ # The name of the service mesh in which to list virtual nodes.
993
+ #
994
+ # @option params [String] :next_token
995
+ # The `nextToken` value returned from a previous paginated
996
+ # `ListVirtualNodes` request where `limit` was used and the results
997
+ # exceeded the value of that parameter. Pagination continues from the
998
+ # end of the previous results that returned the `nextToken` value.
999
+ #
1000
+ # @return [Types::ListVirtualNodesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1001
+ #
1002
+ # * {Types::ListVirtualNodesOutput#next_token #next_token} => String
1003
+ # * {Types::ListVirtualNodesOutput#virtual_nodes #virtual_nodes} => Array&lt;Types::VirtualNodeRef&gt;
1004
+ #
1005
+ # @example Request syntax with placeholder values
1006
+ #
1007
+ # resp = client.list_virtual_nodes({
1008
+ # limit: 1,
1009
+ # mesh_name: "ResourceName", # required
1010
+ # next_token: "String",
1011
+ # })
1012
+ #
1013
+ # @example Response structure
1014
+ #
1015
+ # resp.next_token #=> String
1016
+ # resp.virtual_nodes #=> Array
1017
+ # resp.virtual_nodes[0].arn #=> String
1018
+ # resp.virtual_nodes[0].mesh_name #=> String
1019
+ # resp.virtual_nodes[0].virtual_node_name #=> String
1020
+ #
1021
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/ListVirtualNodes AWS API Documentation
1022
+ #
1023
+ # @overload list_virtual_nodes(params = {})
1024
+ # @param [Hash] params ({})
1025
+ def list_virtual_nodes(params = {}, options = {})
1026
+ req = build_request(:list_virtual_nodes, params)
1027
+ req.send_request(options)
1028
+ end
1029
+
1030
+ # Returns a list of existing virtual routers in a service mesh.
1031
+ #
1032
+ # @option params [Integer] :limit
1033
+ # The maximum number of mesh results returned by `ListVirtualRouters` in
1034
+ # paginated output. When this parameter is used, `ListVirtualRouters`
1035
+ # only returns `limit` results in a single page along with a `nextToken`
1036
+ # response element. The remaining results of the initial request can be
1037
+ # seen by sending another `ListVirtualRouters` request with the returned
1038
+ # `nextToken` value. This value can be between 1 and 100. If this
1039
+ # parameter is not used, then `ListVirtualRouters` returns up to 100
1040
+ # results and a `nextToken` value if applicable.
1041
+ #
1042
+ # @option params [required, String] :mesh_name
1043
+ # The name of the service mesh in which to list virtual routers.
1044
+ #
1045
+ # @option params [String] :next_token
1046
+ # The `nextToken` value returned from a previous paginated
1047
+ # `ListVirtualRouters` request where `limit` was used and the results
1048
+ # exceeded the value of that parameter. Pagination continues from the
1049
+ # end of the previous results that returned the `nextToken` value.
1050
+ #
1051
+ # @return [Types::ListVirtualRoutersOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1052
+ #
1053
+ # * {Types::ListVirtualRoutersOutput#next_token #next_token} => String
1054
+ # * {Types::ListVirtualRoutersOutput#virtual_routers #virtual_routers} => Array&lt;Types::VirtualRouterRef&gt;
1055
+ #
1056
+ # @example Request syntax with placeholder values
1057
+ #
1058
+ # resp = client.list_virtual_routers({
1059
+ # limit: 1,
1060
+ # mesh_name: "ResourceName", # required
1061
+ # next_token: "String",
1062
+ # })
1063
+ #
1064
+ # @example Response structure
1065
+ #
1066
+ # resp.next_token #=> String
1067
+ # resp.virtual_routers #=> Array
1068
+ # resp.virtual_routers[0].arn #=> String
1069
+ # resp.virtual_routers[0].mesh_name #=> String
1070
+ # resp.virtual_routers[0].virtual_router_name #=> String
1071
+ #
1072
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/ListVirtualRouters AWS API Documentation
1073
+ #
1074
+ # @overload list_virtual_routers(params = {})
1075
+ # @param [Hash] params ({})
1076
+ def list_virtual_routers(params = {}, options = {})
1077
+ req = build_request(:list_virtual_routers, params)
1078
+ req.send_request(options)
1079
+ end
1080
+
1081
+ # Updates an existing route for a specified service mesh and virtual
1082
+ # router.
1083
+ #
1084
+ # @option params [String] :client_token
1085
+ # Unique, case-sensitive identifier that you provide to ensure the
1086
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
1087
+ # underscores are allowed.
1088
+ #
1089
+ # **A suitable default value is auto-generated.** You should normally
1090
+ # not need to pass this option.**
1091
+ #
1092
+ # @option params [required, String] :mesh_name
1093
+ # The name of the service mesh in which the route resides.
1094
+ #
1095
+ # @option params [required, String] :route_name
1096
+ # The name of the route to update.
1097
+ #
1098
+ # @option params [required, Types::RouteSpec] :spec
1099
+ # The new route specification to apply. This overwrites the existing
1100
+ # data.
1101
+ #
1102
+ # @option params [required, String] :virtual_router_name
1103
+ # The name of the virtual router with which the route is associated.
1104
+ #
1105
+ # @return [Types::UpdateRouteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1106
+ #
1107
+ # * {Types::UpdateRouteOutput#route #route} => Types::RouteData
1108
+ #
1109
+ # @example Request syntax with placeholder values
1110
+ #
1111
+ # resp = client.update_route({
1112
+ # client_token: "String",
1113
+ # mesh_name: "ResourceName", # required
1114
+ # route_name: "ResourceName", # required
1115
+ # spec: { # required
1116
+ # http_route: {
1117
+ # action: {
1118
+ # weighted_targets: [
1119
+ # {
1120
+ # virtual_node: "ResourceName",
1121
+ # weight: 1,
1122
+ # },
1123
+ # ],
1124
+ # },
1125
+ # match: {
1126
+ # prefix: "String",
1127
+ # },
1128
+ # },
1129
+ # },
1130
+ # virtual_router_name: "ResourceName", # required
1131
+ # })
1132
+ #
1133
+ # @example Response structure
1134
+ #
1135
+ # resp.route.mesh_name #=> String
1136
+ # resp.route.metadata.arn #=> String
1137
+ # resp.route.metadata.created_at #=> Time
1138
+ # resp.route.metadata.last_updated_at #=> Time
1139
+ # resp.route.metadata.uid #=> String
1140
+ # resp.route.metadata.version #=> Integer
1141
+ # resp.route.route_name #=> String
1142
+ # resp.route.spec.http_route.action.weighted_targets #=> Array
1143
+ # resp.route.spec.http_route.action.weighted_targets[0].virtual_node #=> String
1144
+ # resp.route.spec.http_route.action.weighted_targets[0].weight #=> Integer
1145
+ # resp.route.spec.http_route.match.prefix #=> String
1146
+ # resp.route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1147
+ # resp.route.virtual_router_name #=> String
1148
+ #
1149
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/UpdateRoute AWS API Documentation
1150
+ #
1151
+ # @overload update_route(params = {})
1152
+ # @param [Hash] params ({})
1153
+ def update_route(params = {}, options = {})
1154
+ req = build_request(:update_route, params)
1155
+ req.send_request(options)
1156
+ end
1157
+
1158
+ # Updates an existing virtual node in a specified service mesh.
1159
+ #
1160
+ # @option params [String] :client_token
1161
+ # Unique, case-sensitive identifier that you provide to ensure the
1162
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
1163
+ # underscores are allowed.
1164
+ #
1165
+ # **A suitable default value is auto-generated.** You should normally
1166
+ # not need to pass this option.**
1167
+ #
1168
+ # @option params [required, String] :mesh_name
1169
+ # The name of the service mesh in which the virtual node resides.
1170
+ #
1171
+ # @option params [required, Types::VirtualNodeSpec] :spec
1172
+ # The new virtual node specification to apply. This overwrites the
1173
+ # existing data.
1174
+ #
1175
+ # @option params [required, String] :virtual_node_name
1176
+ # The name of the virtual node to update.
1177
+ #
1178
+ # @return [Types::UpdateVirtualNodeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1179
+ #
1180
+ # * {Types::UpdateVirtualNodeOutput#virtual_node #virtual_node} => Types::VirtualNodeData
1181
+ #
1182
+ # @example Request syntax with placeholder values
1183
+ #
1184
+ # resp = client.update_virtual_node({
1185
+ # client_token: "String",
1186
+ # mesh_name: "ResourceName", # required
1187
+ # spec: { # required
1188
+ # backends: ["ServiceName"],
1189
+ # listeners: [
1190
+ # {
1191
+ # health_check: {
1192
+ # healthy_threshold: 1,
1193
+ # interval_millis: 1,
1194
+ # path: "String",
1195
+ # port: 1,
1196
+ # protocol: "http", # accepts http, tcp
1197
+ # timeout_millis: 1,
1198
+ # unhealthy_threshold: 1,
1199
+ # },
1200
+ # port_mapping: {
1201
+ # port: 1,
1202
+ # protocol: "http", # accepts http, tcp
1203
+ # },
1204
+ # },
1205
+ # ],
1206
+ # service_discovery: {
1207
+ # dns: {
1208
+ # service_name: "ServiceName",
1209
+ # },
1210
+ # },
1211
+ # },
1212
+ # virtual_node_name: "ResourceName", # required
1213
+ # })
1214
+ #
1215
+ # @example Response structure
1216
+ #
1217
+ # resp.virtual_node.mesh_name #=> String
1218
+ # resp.virtual_node.metadata.arn #=> String
1219
+ # resp.virtual_node.metadata.created_at #=> Time
1220
+ # resp.virtual_node.metadata.last_updated_at #=> Time
1221
+ # resp.virtual_node.metadata.uid #=> String
1222
+ # resp.virtual_node.metadata.version #=> Integer
1223
+ # resp.virtual_node.spec.backends #=> Array
1224
+ # resp.virtual_node.spec.backends[0] #=> String
1225
+ # resp.virtual_node.spec.listeners #=> Array
1226
+ # resp.virtual_node.spec.listeners[0].health_check.healthy_threshold #=> Integer
1227
+ # resp.virtual_node.spec.listeners[0].health_check.interval_millis #=> Integer
1228
+ # resp.virtual_node.spec.listeners[0].health_check.path #=> String
1229
+ # resp.virtual_node.spec.listeners[0].health_check.port #=> Integer
1230
+ # resp.virtual_node.spec.listeners[0].health_check.protocol #=> String, one of "http", "tcp"
1231
+ # resp.virtual_node.spec.listeners[0].health_check.timeout_millis #=> Integer
1232
+ # resp.virtual_node.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
1233
+ # resp.virtual_node.spec.listeners[0].port_mapping.port #=> Integer
1234
+ # resp.virtual_node.spec.listeners[0].port_mapping.protocol #=> String, one of "http", "tcp"
1235
+ # resp.virtual_node.spec.service_discovery.dns.service_name #=> String
1236
+ # resp.virtual_node.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1237
+ # resp.virtual_node.virtual_node_name #=> String
1238
+ #
1239
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/UpdateVirtualNode AWS API Documentation
1240
+ #
1241
+ # @overload update_virtual_node(params = {})
1242
+ # @param [Hash] params ({})
1243
+ def update_virtual_node(params = {}, options = {})
1244
+ req = build_request(:update_virtual_node, params)
1245
+ req.send_request(options)
1246
+ end
1247
+
1248
+ # Updates an existing virtual router in a specified service mesh.
1249
+ #
1250
+ # @option params [String] :client_token
1251
+ # Unique, case-sensitive identifier that you provide to ensure the
1252
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
1253
+ # underscores are allowed.
1254
+ #
1255
+ # **A suitable default value is auto-generated.** You should normally
1256
+ # not need to pass this option.**
1257
+ #
1258
+ # @option params [required, String] :mesh_name
1259
+ # The name of the service mesh in which the virtual router resides.
1260
+ #
1261
+ # @option params [required, Types::VirtualRouterSpec] :spec
1262
+ # The new virtual router specification to apply. This overwrites the
1263
+ # existing data.
1264
+ #
1265
+ # @option params [required, String] :virtual_router_name
1266
+ # The name of the virtual router to update.
1267
+ #
1268
+ # @return [Types::UpdateVirtualRouterOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1269
+ #
1270
+ # * {Types::UpdateVirtualRouterOutput#virtual_router #virtual_router} => Types::VirtualRouterData
1271
+ #
1272
+ # @example Request syntax with placeholder values
1273
+ #
1274
+ # resp = client.update_virtual_router({
1275
+ # client_token: "String",
1276
+ # mesh_name: "ResourceName", # required
1277
+ # spec: { # required
1278
+ # service_names: ["ServiceName"],
1279
+ # },
1280
+ # virtual_router_name: "ResourceName", # required
1281
+ # })
1282
+ #
1283
+ # @example Response structure
1284
+ #
1285
+ # resp.virtual_router.mesh_name #=> String
1286
+ # resp.virtual_router.metadata.arn #=> String
1287
+ # resp.virtual_router.metadata.created_at #=> Time
1288
+ # resp.virtual_router.metadata.last_updated_at #=> Time
1289
+ # resp.virtual_router.metadata.uid #=> String
1290
+ # resp.virtual_router.metadata.version #=> Integer
1291
+ # resp.virtual_router.spec.service_names #=> Array
1292
+ # resp.virtual_router.spec.service_names[0] #=> String
1293
+ # resp.virtual_router.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1294
+ # resp.virtual_router.virtual_router_name #=> String
1295
+ #
1296
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2018-10-01/UpdateVirtualRouter AWS API Documentation
1297
+ #
1298
+ # @overload update_virtual_router(params = {})
1299
+ # @param [Hash] params ({})
1300
+ def update_virtual_router(params = {}, options = {})
1301
+ req = build_request(:update_virtual_router, params)
1302
+ req.send_request(options)
1303
+ end
1304
+
1305
+ # @!endgroup
1306
+
1307
+ # @param params ({})
1308
+ # @api private
1309
+ def build_request(operation_name, params = {})
1310
+ handlers = @handlers.for(operation_name)
1311
+ context = Seahorse::Client::RequestContext.new(
1312
+ operation_name: operation_name,
1313
+ operation: config.api.operation(operation_name),
1314
+ client: self,
1315
+ params: params,
1316
+ config: config)
1317
+ context[:gem_name] = 'aws-sdk-appmesh'
1318
+ context[:gem_version] = '1.0.0'
1319
+ Seahorse::Client::Request.new(handlers, context)
1320
+ end
1321
+
1322
+ # @api private
1323
+ # @deprecated
1324
+ def waiter_names
1325
+ []
1326
+ end
1327
+
1328
+ class << self
1329
+
1330
+ # @api private
1331
+ attr_reader :identifier
1332
+
1333
+ # @api private
1334
+ def errors_module
1335
+ Errors
1336
+ end
1337
+
1338
+ end
1339
+ end
1340
+ end