aws-sdk-vpclattice 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,3206 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
32
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
35
+
36
+ Aws::Plugins::GlobalConfiguration.add_identifier(:vpclattice)
37
+
38
+ module Aws::VPCLattice
39
+ # An API client for VPCLattice. To construct a client, you need to configure a `:region` and `:credentials`.
40
+ #
41
+ # client = Aws::VPCLattice::Client.new(
42
+ # region: region_name,
43
+ # credentials: credentials,
44
+ # # ...
45
+ # )
46
+ #
47
+ # For details on configuring region and credentials see
48
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
49
+ #
50
+ # See {#initialize} for a full list of supported configuration options.
51
+ class Client < Seahorse::Client::Base
52
+
53
+ include Aws::ClientStubs
54
+
55
+ @identifier = :vpclattice
56
+
57
+ set_api(ClientApi::API)
58
+
59
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
60
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
61
+ add_plugin(Aws::Plugins::Logging)
62
+ add_plugin(Aws::Plugins::ParamConverter)
63
+ add_plugin(Aws::Plugins::ParamValidator)
64
+ add_plugin(Aws::Plugins::UserAgent)
65
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
66
+ add_plugin(Aws::Plugins::RetryErrors)
67
+ add_plugin(Aws::Plugins::GlobalConfiguration)
68
+ add_plugin(Aws::Plugins::RegionalEndpoint)
69
+ add_plugin(Aws::Plugins::EndpointDiscovery)
70
+ add_plugin(Aws::Plugins::EndpointPattern)
71
+ add_plugin(Aws::Plugins::ResponsePaging)
72
+ add_plugin(Aws::Plugins::StubResponses)
73
+ add_plugin(Aws::Plugins::IdempotencyToken)
74
+ add_plugin(Aws::Plugins::JsonvalueConverter)
75
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
76
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
77
+ add_plugin(Aws::Plugins::TransferEncoding)
78
+ add_plugin(Aws::Plugins::HttpChecksum)
79
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
+ add_plugin(Aws::Plugins::DefaultsMode)
81
+ add_plugin(Aws::Plugins::RecursionDetection)
82
+ add_plugin(Aws::Plugins::Sign)
83
+ add_plugin(Aws::Plugins::Protocols::RestJson)
84
+ add_plugin(Aws::VPCLattice::Plugins::Endpoints)
85
+
86
+ # @overload initialize(options)
87
+ # @param [Hash] options
88
+ # @option options [required, Aws::CredentialProvider] :credentials
89
+ # Your AWS credentials. This can be an instance of any one of the
90
+ # following classes:
91
+ #
92
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
93
+ # credentials.
94
+ #
95
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
96
+ # shared file, such as `~/.aws/config`.
97
+ #
98
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
99
+ #
100
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
101
+ # assume a role after providing credentials via the web.
102
+ #
103
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
104
+ # access token generated from `aws login`.
105
+ #
106
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
107
+ # process that outputs to stdout.
108
+ #
109
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
110
+ # from an EC2 IMDS on an EC2 instance.
111
+ #
112
+ # * `Aws::ECSCredentials` - Used for loading credentials from
113
+ # instances running in ECS.
114
+ #
115
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
116
+ # from the Cognito Identity service.
117
+ #
118
+ # When `:credentials` are not configured directly, the following
119
+ # locations will be searched for credentials:
120
+ #
121
+ # * `Aws.config[:credentials]`
122
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
123
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
124
+ # * `~/.aws/credentials`
125
+ # * `~/.aws/config`
126
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
127
+ # are very aggressive. Construct and pass an instance of
128
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
129
+ # enable retries and extended timeouts. Instance profile credential
130
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
131
+ # to true.
132
+ #
133
+ # @option options [required, String] :region
134
+ # The AWS region to connect to. The configured `:region` is
135
+ # used to determine the service `:endpoint`. When not passed,
136
+ # a default `:region` is searched for in the following locations:
137
+ #
138
+ # * `Aws.config[:region]`
139
+ # * `ENV['AWS_REGION']`
140
+ # * `ENV['AMAZON_REGION']`
141
+ # * `ENV['AWS_DEFAULT_REGION']`
142
+ # * `~/.aws/credentials`
143
+ # * `~/.aws/config`
144
+ #
145
+ # @option options [String] :access_key_id
146
+ #
147
+ # @option options [Boolean] :active_endpoint_cache (false)
148
+ # When set to `true`, a thread polling for endpoints will be running in
149
+ # the background every 60 secs (default). Defaults to `false`.
150
+ #
151
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
152
+ # Used only in `adaptive` retry mode. When true, the request will sleep
153
+ # until there is sufficent client side capacity to retry the request.
154
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
155
+ # not retry instead of sleeping.
156
+ #
157
+ # @option options [Boolean] :client_side_monitoring (false)
158
+ # When `true`, client-side metrics will be collected for all API requests from
159
+ # this client.
160
+ #
161
+ # @option options [String] :client_side_monitoring_client_id ("")
162
+ # Allows you to provide an identifier for this client which will be attached to
163
+ # all generated client side metrics. Defaults to an empty string.
164
+ #
165
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
166
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
167
+ # side monitoring agent is running on, where client metrics will be published via UDP.
168
+ #
169
+ # @option options [Integer] :client_side_monitoring_port (31000)
170
+ # Required for publishing client metrics. The port that the client side monitoring
171
+ # agent is running on, where client metrics will be published via UDP.
172
+ #
173
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
174
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
175
+ # will use the Client Side Monitoring Agent Publisher.
176
+ #
177
+ # @option options [Boolean] :convert_params (true)
178
+ # When `true`, an attempt is made to coerce request parameters into
179
+ # the required types.
180
+ #
181
+ # @option options [Boolean] :correct_clock_skew (true)
182
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
183
+ # a clock skew correction and retry requests with skewed client clocks.
184
+ #
185
+ # @option options [String] :defaults_mode ("legacy")
186
+ # See {Aws::DefaultsModeConfiguration} for a list of the
187
+ # accepted modes and the configuration defaults that are included.
188
+ #
189
+ # @option options [Boolean] :disable_host_prefix_injection (false)
190
+ # Set to true to disable SDK automatically adding host prefix
191
+ # to default service endpoint when available.
192
+ #
193
+ # @option options [String] :endpoint
194
+ # The client endpoint is normally constructed from the `:region`
195
+ # option. You should only configure an `:endpoint` when connecting
196
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
197
+ #
198
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
199
+ # Used for the maximum size limit of the LRU cache storing endpoints data
200
+ # for endpoint discovery enabled operations. Defaults to 1000.
201
+ #
202
+ # @option options [Integer] :endpoint_cache_max_threads (10)
203
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
204
+ #
205
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
206
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
207
+ # Use this option to config the time interval in seconds for making
208
+ # requests fetching endpoints information. Defaults to 60 sec.
209
+ #
210
+ # @option options [Boolean] :endpoint_discovery (false)
211
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
212
+ #
213
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
214
+ # The log formatter.
215
+ #
216
+ # @option options [Symbol] :log_level (:info)
217
+ # The log level to send messages to the `:logger` at.
218
+ #
219
+ # @option options [Logger] :logger
220
+ # The Logger instance to send log messages to. If this option
221
+ # is not set, logging will be disabled.
222
+ #
223
+ # @option options [Integer] :max_attempts (3)
224
+ # An integer representing the maximum number attempts that will be made for
225
+ # a single request, including the initial attempt. For example,
226
+ # setting this value to 5 will result in a request being retried up to
227
+ # 4 times. Used in `standard` and `adaptive` retry modes.
228
+ #
229
+ # @option options [String] :profile ("default")
230
+ # Used when loading credentials from the shared credentials file
231
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
232
+ #
233
+ # @option options [Proc] :retry_backoff
234
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
235
+ # This option is only used in the `legacy` retry mode.
236
+ #
237
+ # @option options [Float] :retry_base_delay (0.3)
238
+ # The base delay in seconds used by the default backoff function. This option
239
+ # is only used in the `legacy` retry mode.
240
+ #
241
+ # @option options [Symbol] :retry_jitter (:none)
242
+ # A delay randomiser function used by the default backoff function.
243
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
244
+ # otherwise a Proc that takes and returns a number. This option is only used
245
+ # in the `legacy` retry mode.
246
+ #
247
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
248
+ #
249
+ # @option options [Integer] :retry_limit (3)
250
+ # The maximum number of times to retry failed requests. Only
251
+ # ~ 500 level server errors and certain ~ 400 level client errors
252
+ # are retried. Generally, these are throttling errors, data
253
+ # checksum errors, networking errors, timeout errors, auth errors,
254
+ # endpoint discovery, and errors from expired credentials.
255
+ # This option is only used in the `legacy` retry mode.
256
+ #
257
+ # @option options [Integer] :retry_max_delay (0)
258
+ # The maximum number of seconds to delay between retries (0 for no limit)
259
+ # used by the default backoff function. This option is only used in the
260
+ # `legacy` retry mode.
261
+ #
262
+ # @option options [String] :retry_mode ("legacy")
263
+ # Specifies which retry algorithm to use. Values are:
264
+ #
265
+ # * `legacy` - The pre-existing retry behavior. This is default value if
266
+ # no retry mode is provided.
267
+ #
268
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
269
+ # This includes support for retry quotas, which limit the number of
270
+ # unsuccessful retries a client can make.
271
+ #
272
+ # * `adaptive` - An experimental retry mode that includes all the
273
+ # functionality of `standard` mode along with automatic client side
274
+ # throttling. This is a provisional mode that may change behavior
275
+ # in the future.
276
+ #
277
+ #
278
+ # @option options [String] :secret_access_key
279
+ #
280
+ # @option options [String] :session_token
281
+ #
282
+ # @option options [Boolean] :stub_responses (false)
283
+ # Causes the client to return stubbed responses. By default
284
+ # fake responses are generated and returned. You can specify
285
+ # the response data to return or errors to raise by calling
286
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
287
+ #
288
+ # ** Please note ** When response stubbing is enabled, no HTTP
289
+ # requests are made, and retries are disabled.
290
+ #
291
+ # @option options [Aws::TokenProvider] :token_provider
292
+ # A Bearer Token Provider. This can be an instance of any one of the
293
+ # following classes:
294
+ #
295
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
296
+ # tokens.
297
+ #
298
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
299
+ # access token generated from `aws login`.
300
+ #
301
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
302
+ # will be used to search for tokens configured for your profile in shared configuration files.
303
+ #
304
+ # @option options [Boolean] :use_dualstack_endpoint
305
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
306
+ # will be used if available.
307
+ #
308
+ # @option options [Boolean] :use_fips_endpoint
309
+ # When set to `true`, fips compatible endpoints will be used if available.
310
+ # When a `fips` region is used, the region is normalized and this config
311
+ # is set to `true`.
312
+ #
313
+ # @option options [Boolean] :validate_params (true)
314
+ # When `true`, request parameters are validated before
315
+ # sending the request.
316
+ #
317
+ # @option options [Aws::VPCLattice::EndpointProvider] :endpoint_provider
318
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::VPCLattice::EndpointParameters`
319
+ #
320
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
321
+ # requests through. Formatted like 'http://proxy.com:123'.
322
+ #
323
+ # @option options [Float] :http_open_timeout (15) The number of
324
+ # seconds to wait when opening a HTTP session before raising a
325
+ # `Timeout::Error`.
326
+ #
327
+ # @option options [Float] :http_read_timeout (60) The default
328
+ # number of seconds to wait for response data. This value can
329
+ # safely be set per-request on the session.
330
+ #
331
+ # @option options [Float] :http_idle_timeout (5) The number of
332
+ # seconds a connection is allowed to sit idle before it is
333
+ # considered stale. Stale connections are closed and removed
334
+ # from the pool before making a request.
335
+ #
336
+ # @option options [Float] :http_continue_timeout (1) The number of
337
+ # seconds to wait for a 100-continue response before sending the
338
+ # request body. This option has no effect unless the request has
339
+ # "Expect" header set to "100-continue". Defaults to `nil` which
340
+ # disables this behaviour. This value can safely be set per
341
+ # request on the session.
342
+ #
343
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
344
+ # in seconds.
345
+ #
346
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
347
+ # HTTP debug output will be sent to the `:logger`.
348
+ #
349
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
350
+ # SSL peer certificates are verified when establishing a
351
+ # connection.
352
+ #
353
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
354
+ # certificate authority bundle file that should be used when
355
+ # verifying peer certificates. If you do not pass
356
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
357
+ # will be used if available.
358
+ #
359
+ # @option options [String] :ssl_ca_directory Full path of the
360
+ # directory that contains the unbundled SSL certificate
361
+ # authority files for verifying peer certificates. If you do
362
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
363
+ # system default will be used if available.
364
+ #
365
+ def initialize(*args)
366
+ super
367
+ end
368
+
369
+ # @!group API Operations
370
+
371
+ # Updates the listener rules in a batch. You can use this operation to
372
+ # change the priority of listener rules. This can be useful when bulk
373
+ # updating or swapping rule priority.
374
+ #
375
+ # @option params [required, String] :listener_identifier
376
+ # The ID or Amazon Resource Name (ARN) of the listener.
377
+ #
378
+ # @option params [required, Array<Types::RuleUpdate>] :rules
379
+ # The rules for the specified listener.
380
+ #
381
+ # @option params [required, String] :service_identifier
382
+ # The ID or Amazon Resource Name (ARN) of the service.
383
+ #
384
+ # @return [Types::BatchUpdateRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
385
+ #
386
+ # * {Types::BatchUpdateRuleResponse#successful #successful} => Array&lt;Types::RuleUpdateSuccess&gt;
387
+ # * {Types::BatchUpdateRuleResponse#unsuccessful #unsuccessful} => Array&lt;Types::RuleUpdateFailure&gt;
388
+ #
389
+ # @example Request syntax with placeholder values
390
+ #
391
+ # resp = client.batch_update_rule({
392
+ # listener_identifier: "ListenerIdentifier", # required
393
+ # rules: [ # required
394
+ # {
395
+ # action: {
396
+ # fixed_response: {
397
+ # status_code: 1, # required
398
+ # },
399
+ # forward: {
400
+ # target_groups: [ # required
401
+ # {
402
+ # target_group_identifier: "TargetGroupIdentifier", # required
403
+ # weight: 1,
404
+ # },
405
+ # ],
406
+ # },
407
+ # },
408
+ # match: {
409
+ # http_match: {
410
+ # header_matches: [
411
+ # {
412
+ # case_sensitive: false,
413
+ # match: { # required
414
+ # contains: "HeaderMatchContains",
415
+ # exact: "HeaderMatchExact",
416
+ # prefix: "HeaderMatchPrefix",
417
+ # },
418
+ # name: "HeaderMatchName", # required
419
+ # },
420
+ # ],
421
+ # method: "HttpMethod",
422
+ # path_match: {
423
+ # case_sensitive: false,
424
+ # match: { # required
425
+ # exact: "PathMatchExact",
426
+ # prefix: "PathMatchPrefix",
427
+ # },
428
+ # },
429
+ # },
430
+ # },
431
+ # priority: 1,
432
+ # rule_identifier: "RuleIdentifier", # required
433
+ # },
434
+ # ],
435
+ # service_identifier: "ServiceIdentifier", # required
436
+ # })
437
+ #
438
+ # @example Response structure
439
+ #
440
+ # resp.successful #=> Array
441
+ # resp.successful[0].action.fixed_response.status_code #=> Integer
442
+ # resp.successful[0].action.forward.target_groups #=> Array
443
+ # resp.successful[0].action.forward.target_groups[0].target_group_identifier #=> String
444
+ # resp.successful[0].action.forward.target_groups[0].weight #=> Integer
445
+ # resp.successful[0].arn #=> String
446
+ # resp.successful[0].id #=> String
447
+ # resp.successful[0].is_default #=> Boolean
448
+ # resp.successful[0].match.http_match.header_matches #=> Array
449
+ # resp.successful[0].match.http_match.header_matches[0].case_sensitive #=> Boolean
450
+ # resp.successful[0].match.http_match.header_matches[0].match.contains #=> String
451
+ # resp.successful[0].match.http_match.header_matches[0].match.exact #=> String
452
+ # resp.successful[0].match.http_match.header_matches[0].match.prefix #=> String
453
+ # resp.successful[0].match.http_match.header_matches[0].name #=> String
454
+ # resp.successful[0].match.http_match.method #=> String
455
+ # resp.successful[0].match.http_match.path_match.case_sensitive #=> Boolean
456
+ # resp.successful[0].match.http_match.path_match.match.exact #=> String
457
+ # resp.successful[0].match.http_match.path_match.match.prefix #=> String
458
+ # resp.successful[0].name #=> String
459
+ # resp.successful[0].priority #=> Integer
460
+ # resp.unsuccessful #=> Array
461
+ # resp.unsuccessful[0].failure_code #=> String
462
+ # resp.unsuccessful[0].failure_message #=> String
463
+ # resp.unsuccessful[0].rule_identifier #=> String
464
+ #
465
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/BatchUpdateRule AWS API Documentation
466
+ #
467
+ # @overload batch_update_rule(params = {})
468
+ # @param [Hash] params ({})
469
+ def batch_update_rule(params = {}, options = {})
470
+ req = build_request(:batch_update_rule, params)
471
+ req.send_request(options)
472
+ end
473
+
474
+ # Enables access logs to be sent to Amazon CloudWatch, Amazon S3, and
475
+ # Amazon Kinesis Data Firehose. The service network owner can use the
476
+ # access logs to audit the services in the network. The service network
477
+ # owner will only see access logs from clients and services that are
478
+ # associated with their service network. Access log entries represent
479
+ # traffic originated from VPCs associated with that network. For more
480
+ # information, see [Access logs][1] in the *Amazon VPC Lattice User
481
+ # Guide*.
482
+ #
483
+ #
484
+ #
485
+ # [1]: https://docs.aws.amazon.com/vpc-lattice/latest/ug/monitoring-access-logs.html
486
+ #
487
+ # @option params [String] :client_token
488
+ # A unique, case-sensitive identifier that you provide to ensure the
489
+ # idempotency of the request. If you retry a request that completed
490
+ # successfully using the same client token and parameters, the retry
491
+ # succeeds without performing any actions. If the parameters aren't
492
+ # identical, the retry fails.
493
+ #
494
+ # **A suitable default value is auto-generated.** You should normally
495
+ # not need to pass this option.**
496
+ #
497
+ # @option params [required, String] :destination_arn
498
+ # The Amazon Resource Name (ARN) of the destination. The supported
499
+ # destination types are CloudWatch Log groups, Kinesis Data Firehose
500
+ # delivery streams, and Amazon S3 buckets.
501
+ #
502
+ # @option params [required, String] :resource_identifier
503
+ # The ID or Amazon Resource Name (ARN) of the service network or
504
+ # service.
505
+ #
506
+ # @option params [Hash<String,String>] :tags
507
+ # The tags for the access log subscription.
508
+ #
509
+ # @return [Types::CreateAccessLogSubscriptionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
510
+ #
511
+ # * {Types::CreateAccessLogSubscriptionResponse#arn #arn} => String
512
+ # * {Types::CreateAccessLogSubscriptionResponse#destination_arn #destination_arn} => String
513
+ # * {Types::CreateAccessLogSubscriptionResponse#id #id} => String
514
+ # * {Types::CreateAccessLogSubscriptionResponse#resource_arn #resource_arn} => String
515
+ # * {Types::CreateAccessLogSubscriptionResponse#resource_id #resource_id} => String
516
+ #
517
+ # @example Request syntax with placeholder values
518
+ #
519
+ # resp = client.create_access_log_subscription({
520
+ # client_token: "ClientToken",
521
+ # destination_arn: "AccessLogDestinationArn", # required
522
+ # resource_identifier: "ResourceIdentifier", # required
523
+ # tags: {
524
+ # "TagKey" => "TagValue",
525
+ # },
526
+ # })
527
+ #
528
+ # @example Response structure
529
+ #
530
+ # resp.arn #=> String
531
+ # resp.destination_arn #=> String
532
+ # resp.id #=> String
533
+ # resp.resource_arn #=> String
534
+ # resp.resource_id #=> String
535
+ #
536
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/CreateAccessLogSubscription AWS API Documentation
537
+ #
538
+ # @overload create_access_log_subscription(params = {})
539
+ # @param [Hash] params ({})
540
+ def create_access_log_subscription(params = {}, options = {})
541
+ req = build_request(:create_access_log_subscription, params)
542
+ req.send_request(options)
543
+ end
544
+
545
+ # Creates a listener for a service. Before you start using your Amazon
546
+ # VPC Lattice service, you must add one or more listeners. A listener is
547
+ # a process that checks for connection requests to your services. For
548
+ # more information, see [Listeners][1] in the *Amazon VPC Lattice User
549
+ # Guide*.
550
+ #
551
+ #
552
+ #
553
+ # [1]: https://docs.aws.amazon.com/vpc-lattice/latest/ug/listeners.html
554
+ #
555
+ # @option params [String] :client_token
556
+ # A unique, case-sensitive identifier that you provide to ensure the
557
+ # idempotency of the request. If you retry a request that completed
558
+ # successfully using the same client token and parameters, the retry
559
+ # succeeds without performing any actions. If the parameters aren't
560
+ # identical, the retry fails.
561
+ #
562
+ # **A suitable default value is auto-generated.** You should normally
563
+ # not need to pass this option.**
564
+ #
565
+ # @option params [required, Types::RuleAction] :default_action
566
+ # The action for the default rule. Each listener has a default rule.
567
+ # Each rule consists of a priority, one or more actions, and one or more
568
+ # conditions. The default rule is the rule that's used if no other
569
+ # rules match. Each rule must include exactly one of the following types
570
+ # of actions: `forward `or `fixed-response`, and it must be the last
571
+ # action to be performed.
572
+ #
573
+ # @option params [required, String] :name
574
+ # The name of the listener. A listener name must be unique within a
575
+ # service. The valid characters are a-z, 0-9, and hyphens (-). You
576
+ # can't use a hyphen as the first or last character, or immediately
577
+ # after another hyphen.
578
+ #
579
+ # @option params [Integer] :port
580
+ # The listener port. You can specify a value from `1` to `65535`. For
581
+ # HTTP, the default is `80`. For HTTPS, the default is `443`.
582
+ #
583
+ # @option params [required, String] :protocol
584
+ # The listener protocol HTTP or HTTPS.
585
+ #
586
+ # @option params [required, String] :service_identifier
587
+ # The ID or Amazon Resource Name (ARN) of the service.
588
+ #
589
+ # @option params [Hash<String,String>] :tags
590
+ # The tags for the listener.
591
+ #
592
+ # @return [Types::CreateListenerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
593
+ #
594
+ # * {Types::CreateListenerResponse#arn #arn} => String
595
+ # * {Types::CreateListenerResponse#default_action #default_action} => Types::RuleAction
596
+ # * {Types::CreateListenerResponse#id #id} => String
597
+ # * {Types::CreateListenerResponse#name #name} => String
598
+ # * {Types::CreateListenerResponse#port #port} => Integer
599
+ # * {Types::CreateListenerResponse#protocol #protocol} => String
600
+ # * {Types::CreateListenerResponse#service_arn #service_arn} => String
601
+ # * {Types::CreateListenerResponse#service_id #service_id} => String
602
+ #
603
+ # @example Request syntax with placeholder values
604
+ #
605
+ # resp = client.create_listener({
606
+ # client_token: "ClientToken",
607
+ # default_action: { # required
608
+ # fixed_response: {
609
+ # status_code: 1, # required
610
+ # },
611
+ # forward: {
612
+ # target_groups: [ # required
613
+ # {
614
+ # target_group_identifier: "TargetGroupIdentifier", # required
615
+ # weight: 1,
616
+ # },
617
+ # ],
618
+ # },
619
+ # },
620
+ # name: "ListenerName", # required
621
+ # port: 1,
622
+ # protocol: "HTTP", # required, accepts HTTP, HTTPS
623
+ # service_identifier: "ServiceIdentifier", # required
624
+ # tags: {
625
+ # "TagKey" => "TagValue",
626
+ # },
627
+ # })
628
+ #
629
+ # @example Response structure
630
+ #
631
+ # resp.arn #=> String
632
+ # resp.default_action.fixed_response.status_code #=> Integer
633
+ # resp.default_action.forward.target_groups #=> Array
634
+ # resp.default_action.forward.target_groups[0].target_group_identifier #=> String
635
+ # resp.default_action.forward.target_groups[0].weight #=> Integer
636
+ # resp.id #=> String
637
+ # resp.name #=> String
638
+ # resp.port #=> Integer
639
+ # resp.protocol #=> String, one of "HTTP", "HTTPS"
640
+ # resp.service_arn #=> String
641
+ # resp.service_id #=> String
642
+ #
643
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/CreateListener AWS API Documentation
644
+ #
645
+ # @overload create_listener(params = {})
646
+ # @param [Hash] params ({})
647
+ def create_listener(params = {}, options = {})
648
+ req = build_request(:create_listener, params)
649
+ req.send_request(options)
650
+ end
651
+
652
+ # Creates a listener rule. Each listener has a default rule for checking
653
+ # connection requests, but you can define additional rules. Each rule
654
+ # consists of a priority, one or more actions, and one or more
655
+ # conditions. For more information, see [Listener rules][1] in the
656
+ # *Amazon VPC Lattice User Guide*.
657
+ #
658
+ #
659
+ #
660
+ # [1]: https://docs.aws.amazon.com/vpc-lattice/latest/ug/listeners.html#listener-rules
661
+ #
662
+ # @option params [required, Types::RuleAction] :action
663
+ # The action for the default rule.
664
+ #
665
+ # @option params [String] :client_token
666
+ # A unique, case-sensitive identifier that you provide to ensure the
667
+ # idempotency of the request. If you retry a request that completed
668
+ # successfully using the same client token and parameters, the retry
669
+ # succeeds without performing any actions. If the parameters aren't
670
+ # identical, the retry fails.
671
+ #
672
+ # **A suitable default value is auto-generated.** You should normally
673
+ # not need to pass this option.**
674
+ #
675
+ # @option params [required, String] :listener_identifier
676
+ # The ID or Amazon Resource Name (ARN) of the listener.
677
+ #
678
+ # @option params [required, Types::RuleMatch] :match
679
+ # The rule match.
680
+ #
681
+ # @option params [required, String] :name
682
+ # The name of the rule. The name must be unique within the listener. The
683
+ # valid characters are a-z, 0-9, and hyphens (-). You can't use a
684
+ # hyphen as the first or last character, or immediately after another
685
+ # hyphen.
686
+ #
687
+ # @option params [required, Integer] :priority
688
+ # The priority assigned to the rule. Each rule for a specific listener
689
+ # must have a unique priority. The lower the priority number the higher
690
+ # the priority.
691
+ #
692
+ # @option params [required, String] :service_identifier
693
+ # The ID or Amazon Resource Name (ARN) of the service.
694
+ #
695
+ # @option params [Hash<String,String>] :tags
696
+ # The tags for the rule.
697
+ #
698
+ # @return [Types::CreateRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
699
+ #
700
+ # * {Types::CreateRuleResponse#action #action} => Types::RuleAction
701
+ # * {Types::CreateRuleResponse#arn #arn} => String
702
+ # * {Types::CreateRuleResponse#id #id} => String
703
+ # * {Types::CreateRuleResponse#match #match} => Types::RuleMatch
704
+ # * {Types::CreateRuleResponse#name #name} => String
705
+ # * {Types::CreateRuleResponse#priority #priority} => Integer
706
+ #
707
+ # @example Request syntax with placeholder values
708
+ #
709
+ # resp = client.create_rule({
710
+ # action: { # required
711
+ # fixed_response: {
712
+ # status_code: 1, # required
713
+ # },
714
+ # forward: {
715
+ # target_groups: [ # required
716
+ # {
717
+ # target_group_identifier: "TargetGroupIdentifier", # required
718
+ # weight: 1,
719
+ # },
720
+ # ],
721
+ # },
722
+ # },
723
+ # client_token: "ClientToken",
724
+ # listener_identifier: "ListenerIdentifier", # required
725
+ # match: { # required
726
+ # http_match: {
727
+ # header_matches: [
728
+ # {
729
+ # case_sensitive: false,
730
+ # match: { # required
731
+ # contains: "HeaderMatchContains",
732
+ # exact: "HeaderMatchExact",
733
+ # prefix: "HeaderMatchPrefix",
734
+ # },
735
+ # name: "HeaderMatchName", # required
736
+ # },
737
+ # ],
738
+ # method: "HttpMethod",
739
+ # path_match: {
740
+ # case_sensitive: false,
741
+ # match: { # required
742
+ # exact: "PathMatchExact",
743
+ # prefix: "PathMatchPrefix",
744
+ # },
745
+ # },
746
+ # },
747
+ # },
748
+ # name: "RuleName", # required
749
+ # priority: 1, # required
750
+ # service_identifier: "ServiceIdentifier", # required
751
+ # tags: {
752
+ # "TagKey" => "TagValue",
753
+ # },
754
+ # })
755
+ #
756
+ # @example Response structure
757
+ #
758
+ # resp.action.fixed_response.status_code #=> Integer
759
+ # resp.action.forward.target_groups #=> Array
760
+ # resp.action.forward.target_groups[0].target_group_identifier #=> String
761
+ # resp.action.forward.target_groups[0].weight #=> Integer
762
+ # resp.arn #=> String
763
+ # resp.id #=> String
764
+ # resp.match.http_match.header_matches #=> Array
765
+ # resp.match.http_match.header_matches[0].case_sensitive #=> Boolean
766
+ # resp.match.http_match.header_matches[0].match.contains #=> String
767
+ # resp.match.http_match.header_matches[0].match.exact #=> String
768
+ # resp.match.http_match.header_matches[0].match.prefix #=> String
769
+ # resp.match.http_match.header_matches[0].name #=> String
770
+ # resp.match.http_match.method #=> String
771
+ # resp.match.http_match.path_match.case_sensitive #=> Boolean
772
+ # resp.match.http_match.path_match.match.exact #=> String
773
+ # resp.match.http_match.path_match.match.prefix #=> String
774
+ # resp.name #=> String
775
+ # resp.priority #=> Integer
776
+ #
777
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/CreateRule AWS API Documentation
778
+ #
779
+ # @overload create_rule(params = {})
780
+ # @param [Hash] params ({})
781
+ def create_rule(params = {}, options = {})
782
+ req = build_request(:create_rule, params)
783
+ req.send_request(options)
784
+ end
785
+
786
+ # Creates a service. A service is any software application that can run
787
+ # on instances containers, or serverless functions within an account or
788
+ # virtual private cloud (VPC).
789
+ #
790
+ # For more information, see [Services][1] in the *Amazon VPC Lattice
791
+ # User Guide*.
792
+ #
793
+ #
794
+ #
795
+ # [1]: https://docs.aws.amazon.com/vpc-lattice/latest/ug/services.html
796
+ #
797
+ # @option params [String] :auth_type
798
+ # The type of IAM policy.
799
+ #
800
+ # * `NONE`: The resource does not use an IAM policy. This is the
801
+ # default.
802
+ #
803
+ # * `AWS_IAM`: The resource uses an IAM policy. When this type is used,
804
+ # auth is enabled and an auth policy is required.
805
+ #
806
+ # @option params [String] :certificate_arn
807
+ # The Amazon Resource Name (ARN) of the certificate.
808
+ #
809
+ # @option params [String] :client_token
810
+ # A unique, case-sensitive identifier that you provide to ensure the
811
+ # idempotency of the request. If you retry a request that completed
812
+ # successfully using the same client token and parameters, the retry
813
+ # succeeds without performing any actions. If the parameters aren't
814
+ # identical, the retry fails.
815
+ #
816
+ # **A suitable default value is auto-generated.** You should normally
817
+ # not need to pass this option.**
818
+ #
819
+ # @option params [String] :custom_domain_name
820
+ # The custom domain name of the service.
821
+ #
822
+ # @option params [required, String] :name
823
+ # The name of the service. The name must be unique within the account.
824
+ # The valid characters are a-z, 0-9, and hyphens (-). You can't use a
825
+ # hyphen as the first or last character, or immediately after another
826
+ # hyphen.
827
+ #
828
+ # @option params [Hash<String,String>] :tags
829
+ # The tags for the service.
830
+ #
831
+ # @return [Types::CreateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
832
+ #
833
+ # * {Types::CreateServiceResponse#arn #arn} => String
834
+ # * {Types::CreateServiceResponse#auth_type #auth_type} => String
835
+ # * {Types::CreateServiceResponse#certificate_arn #certificate_arn} => String
836
+ # * {Types::CreateServiceResponse#custom_domain_name #custom_domain_name} => String
837
+ # * {Types::CreateServiceResponse#dns_entry #dns_entry} => Types::DnsEntry
838
+ # * {Types::CreateServiceResponse#id #id} => String
839
+ # * {Types::CreateServiceResponse#name #name} => String
840
+ # * {Types::CreateServiceResponse#status #status} => String
841
+ #
842
+ # @example Request syntax with placeholder values
843
+ #
844
+ # resp = client.create_service({
845
+ # auth_type: "NONE", # accepts NONE, AWS_IAM
846
+ # certificate_arn: "CertificateArn",
847
+ # client_token: "ClientToken",
848
+ # custom_domain_name: "ServiceCustomDomainName",
849
+ # name: "ServiceName", # required
850
+ # tags: {
851
+ # "TagKey" => "TagValue",
852
+ # },
853
+ # })
854
+ #
855
+ # @example Response structure
856
+ #
857
+ # resp.arn #=> String
858
+ # resp.auth_type #=> String, one of "NONE", "AWS_IAM"
859
+ # resp.certificate_arn #=> String
860
+ # resp.custom_domain_name #=> String
861
+ # resp.dns_entry.domain_name #=> String
862
+ # resp.dns_entry.hosted_zone_id #=> String
863
+ # resp.id #=> String
864
+ # resp.name #=> String
865
+ # resp.status #=> String, one of "ACTIVE", "CREATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
866
+ #
867
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/CreateService AWS API Documentation
868
+ #
869
+ # @overload create_service(params = {})
870
+ # @param [Hash] params ({})
871
+ def create_service(params = {}, options = {})
872
+ req = build_request(:create_service, params)
873
+ req.send_request(options)
874
+ end
875
+
876
+ # Creates a service network. A service network is a logical boundary for
877
+ # a collection of services. You can associate services and VPCs with a
878
+ # service network.
879
+ #
880
+ # For more information, see [Service networks][1] in the *Amazon VPC
881
+ # Lattice User Guide*.
882
+ #
883
+ #
884
+ #
885
+ # [1]: https://docs.aws.amazon.com/vpc-lattice/latest/ug/service-networks.html
886
+ #
887
+ # @option params [String] :auth_type
888
+ # The type of IAM policy.
889
+ #
890
+ # * `NONE`: The resource does not use an IAM policy. This is the
891
+ # default.
892
+ #
893
+ # * `AWS_IAM`: The resource uses an IAM policy. When this type is used,
894
+ # auth is enabled and an auth policy is required.
895
+ #
896
+ # @option params [String] :client_token
897
+ # A unique, case-sensitive identifier that you provide to ensure the
898
+ # idempotency of the request. If you retry a request that completed
899
+ # successfully using the same client token and parameters, the retry
900
+ # succeeds without performing any actions. If the parameters aren't
901
+ # identical, the retry fails.
902
+ #
903
+ # **A suitable default value is auto-generated.** You should normally
904
+ # not need to pass this option.**
905
+ #
906
+ # @option params [required, String] :name
907
+ # The name of the service network. The name must be unique to the
908
+ # account. The valid characters are a-z, 0-9, and hyphens (-). You
909
+ # can't use a hyphen as the first or last character, or immediately
910
+ # after another hyphen.
911
+ #
912
+ # @option params [Hash<String,String>] :tags
913
+ # The tags for the service network.
914
+ #
915
+ # @return [Types::CreateServiceNetworkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
916
+ #
917
+ # * {Types::CreateServiceNetworkResponse#arn #arn} => String
918
+ # * {Types::CreateServiceNetworkResponse#auth_type #auth_type} => String
919
+ # * {Types::CreateServiceNetworkResponse#id #id} => String
920
+ # * {Types::CreateServiceNetworkResponse#name #name} => String
921
+ #
922
+ # @example Request syntax with placeholder values
923
+ #
924
+ # resp = client.create_service_network({
925
+ # auth_type: "NONE", # accepts NONE, AWS_IAM
926
+ # client_token: "ClientToken",
927
+ # name: "ServiceNetworkName", # required
928
+ # tags: {
929
+ # "TagKey" => "TagValue",
930
+ # },
931
+ # })
932
+ #
933
+ # @example Response structure
934
+ #
935
+ # resp.arn #=> String
936
+ # resp.auth_type #=> String, one of "NONE", "AWS_IAM"
937
+ # resp.id #=> String
938
+ # resp.name #=> String
939
+ #
940
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/CreateServiceNetwork AWS API Documentation
941
+ #
942
+ # @overload create_service_network(params = {})
943
+ # @param [Hash] params ({})
944
+ def create_service_network(params = {}, options = {})
945
+ req = build_request(:create_service_network, params)
946
+ req.send_request(options)
947
+ end
948
+
949
+ # Associates a service with a service network.
950
+ #
951
+ # You can't use this operation if the service and service network are
952
+ # already associated or if there is a disassociation or deletion in
953
+ # progress. If the association fails, you can retry the operation by
954
+ # deleting the association and recreating it.
955
+ #
956
+ # You cannot associate a service and service network that are shared
957
+ # with a caller. The caller must own either the service or the service
958
+ # network.
959
+ #
960
+ # As a result of this operation, the association is created in the
961
+ # service network account and the association owner account.
962
+ #
963
+ # @option params [String] :client_token
964
+ # A unique, case-sensitive identifier that you provide to ensure the
965
+ # idempotency of the request. If you retry a request that completed
966
+ # successfully using the same client token and parameters, the retry
967
+ # succeeds without performing any actions. If the parameters aren't
968
+ # identical, the retry fails.
969
+ #
970
+ # **A suitable default value is auto-generated.** You should normally
971
+ # not need to pass this option.**
972
+ #
973
+ # @option params [required, String] :service_identifier
974
+ # The ID or Amazon Resource Name (ARN) of the service.
975
+ #
976
+ # @option params [required, String] :service_network_identifier
977
+ # The ID or Amazon Resource Name (ARN) of the service network. You must
978
+ # use the ARN if the resources specified in the operation are in
979
+ # different accounts.
980
+ #
981
+ # @option params [Hash<String,String>] :tags
982
+ # The tags for the association.
983
+ #
984
+ # @return [Types::CreateServiceNetworkServiceAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
985
+ #
986
+ # * {Types::CreateServiceNetworkServiceAssociationResponse#arn #arn} => String
987
+ # * {Types::CreateServiceNetworkServiceAssociationResponse#created_by #created_by} => String
988
+ # * {Types::CreateServiceNetworkServiceAssociationResponse#custom_domain_name #custom_domain_name} => String
989
+ # * {Types::CreateServiceNetworkServiceAssociationResponse#dns_entry #dns_entry} => Types::DnsEntry
990
+ # * {Types::CreateServiceNetworkServiceAssociationResponse#id #id} => String
991
+ # * {Types::CreateServiceNetworkServiceAssociationResponse#status #status} => String
992
+ #
993
+ # @example Request syntax with placeholder values
994
+ #
995
+ # resp = client.create_service_network_service_association({
996
+ # client_token: "ClientToken",
997
+ # service_identifier: "ServiceIdentifier", # required
998
+ # service_network_identifier: "ServiceNetworkIdentifier", # required
999
+ # tags: {
1000
+ # "TagKey" => "TagValue",
1001
+ # },
1002
+ # })
1003
+ #
1004
+ # @example Response structure
1005
+ #
1006
+ # resp.arn #=> String
1007
+ # resp.created_by #=> String
1008
+ # resp.custom_domain_name #=> String
1009
+ # resp.dns_entry.domain_name #=> String
1010
+ # resp.dns_entry.hosted_zone_id #=> String
1011
+ # resp.id #=> String
1012
+ # resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
1013
+ #
1014
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/CreateServiceNetworkServiceAssociation AWS API Documentation
1015
+ #
1016
+ # @overload create_service_network_service_association(params = {})
1017
+ # @param [Hash] params ({})
1018
+ def create_service_network_service_association(params = {}, options = {})
1019
+ req = build_request(:create_service_network_service_association, params)
1020
+ req.send_request(options)
1021
+ end
1022
+
1023
+ # Associates a VPC with a service network. When you associate a VPC with
1024
+ # the service network, it enables all the resources within that VPC to
1025
+ # be clients and communicate with other services in the service network.
1026
+ # For more information, see [Manage VPC associations][1] in the *Amazon
1027
+ # VPC Lattice User Guide*.
1028
+ #
1029
+ # You can't use this operation if there is a disassociation in
1030
+ # progress. If the association fails, retry by deleting the association
1031
+ # and recreating it.
1032
+ #
1033
+ # As a result of this operation, the association gets created in the
1034
+ # service network account and the VPC owner account.
1035
+ #
1036
+ # Once a security group is added to the VPC association it cannot be
1037
+ # removed. You can add or update the security groups being used for the
1038
+ # VPC association once a security group is attached. To remove all
1039
+ # security groups you must reassociate the VPC.
1040
+ #
1041
+ #
1042
+ #
1043
+ # [1]: https://docs.aws.amazon.com/vpc-lattice/latest/ug/service-network-associations.html#service-network-vpc-associations
1044
+ #
1045
+ # @option params [String] :client_token
1046
+ # A unique, case-sensitive identifier that you provide to ensure the
1047
+ # idempotency of the request. If you retry a request that completed
1048
+ # successfully using the same client token and parameters, the retry
1049
+ # succeeds without performing any actions. If the parameters aren't
1050
+ # identical, the retry fails.
1051
+ #
1052
+ # **A suitable default value is auto-generated.** You should normally
1053
+ # not need to pass this option.**
1054
+ #
1055
+ # @option params [Array<String>] :security_group_ids
1056
+ # The IDs of the security groups. Security groups aren't added by
1057
+ # default. You can add a security group to apply network level controls
1058
+ # to control which resources in a VPC are allowed to access the service
1059
+ # network and its services. For more information, see [Control traffic
1060
+ # to resources using security groups][1] in the *Amazon VPC User Guide*.
1061
+ #
1062
+ #
1063
+ #
1064
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html
1065
+ #
1066
+ # @option params [required, String] :service_network_identifier
1067
+ # The ID or Amazon Resource Name (ARN) of the service network. You must
1068
+ # use the ARN when the resources specified in the operation are in
1069
+ # different accounts.
1070
+ #
1071
+ # @option params [Hash<String,String>] :tags
1072
+ # The tags for the association.
1073
+ #
1074
+ # @option params [required, String] :vpc_identifier
1075
+ # The ID of the VPC.
1076
+ #
1077
+ # @return [Types::CreateServiceNetworkVpcAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1078
+ #
1079
+ # * {Types::CreateServiceNetworkVpcAssociationResponse#arn #arn} => String
1080
+ # * {Types::CreateServiceNetworkVpcAssociationResponse#created_by #created_by} => String
1081
+ # * {Types::CreateServiceNetworkVpcAssociationResponse#id #id} => String
1082
+ # * {Types::CreateServiceNetworkVpcAssociationResponse#security_group_ids #security_group_ids} => Array&lt;String&gt;
1083
+ # * {Types::CreateServiceNetworkVpcAssociationResponse#status #status} => String
1084
+ #
1085
+ # @example Request syntax with placeholder values
1086
+ #
1087
+ # resp = client.create_service_network_vpc_association({
1088
+ # client_token: "ClientToken",
1089
+ # security_group_ids: ["SecurityGroupId"],
1090
+ # service_network_identifier: "ServiceNetworkIdentifier", # required
1091
+ # tags: {
1092
+ # "TagKey" => "TagValue",
1093
+ # },
1094
+ # vpc_identifier: "VpcId", # required
1095
+ # })
1096
+ #
1097
+ # @example Response structure
1098
+ #
1099
+ # resp.arn #=> String
1100
+ # resp.created_by #=> String
1101
+ # resp.id #=> String
1102
+ # resp.security_group_ids #=> Array
1103
+ # resp.security_group_ids[0] #=> String
1104
+ # resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED", "UPDATE_FAILED"
1105
+ #
1106
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/CreateServiceNetworkVpcAssociation AWS API Documentation
1107
+ #
1108
+ # @overload create_service_network_vpc_association(params = {})
1109
+ # @param [Hash] params ({})
1110
+ def create_service_network_vpc_association(params = {}, options = {})
1111
+ req = build_request(:create_service_network_vpc_association, params)
1112
+ req.send_request(options)
1113
+ end
1114
+
1115
+ # Creates a target group. A target group is a collection of targets, or
1116
+ # compute resources, that run your application or service. A target
1117
+ # group can only be used by a single service.
1118
+ #
1119
+ # For more information, see [Target groups][1] in the *Amazon VPC
1120
+ # Lattice User Guide*.
1121
+ #
1122
+ #
1123
+ #
1124
+ # [1]: https://docs.aws.amazon.com/vpc-lattice/latest/ug/target-groups.html
1125
+ #
1126
+ # @option params [String] :client_token
1127
+ # A unique, case-sensitive identifier that you provide to ensure the
1128
+ # idempotency of the request. If you retry a request that completed
1129
+ # successfully using the same client token and parameters, the retry
1130
+ # succeeds without performing any actions. If the parameters aren't
1131
+ # identical, the retry fails.
1132
+ #
1133
+ # **A suitable default value is auto-generated.** You should normally
1134
+ # not need to pass this option.**
1135
+ #
1136
+ # @option params [Types::TargetGroupConfig] :config
1137
+ # The target group configuration. If `type` is set to `LAMBDA`, this
1138
+ # parameter doesn't apply.
1139
+ #
1140
+ # @option params [required, String] :name
1141
+ # The name of the target group. The name must be unique within the
1142
+ # account. The valid characters are a-z, 0-9, and hyphens (-). You
1143
+ # can't use a hyphen as the first or last character, or immediately
1144
+ # after another hyphen.
1145
+ #
1146
+ # @option params [Hash<String,String>] :tags
1147
+ # The tags for the target group.
1148
+ #
1149
+ # @option params [required, String] :type
1150
+ # The type of target group.
1151
+ #
1152
+ # @return [Types::CreateTargetGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1153
+ #
1154
+ # * {Types::CreateTargetGroupResponse#arn #arn} => String
1155
+ # * {Types::CreateTargetGroupResponse#config #config} => Types::TargetGroupConfig
1156
+ # * {Types::CreateTargetGroupResponse#id #id} => String
1157
+ # * {Types::CreateTargetGroupResponse#name #name} => String
1158
+ # * {Types::CreateTargetGroupResponse#status #status} => String
1159
+ # * {Types::CreateTargetGroupResponse#type #type} => String
1160
+ #
1161
+ # @example Request syntax with placeholder values
1162
+ #
1163
+ # resp = client.create_target_group({
1164
+ # client_token: "ClientToken",
1165
+ # config: {
1166
+ # health_check: {
1167
+ # enabled: false,
1168
+ # health_check_interval_seconds: 1,
1169
+ # health_check_timeout_seconds: 1,
1170
+ # healthy_threshold_count: 1,
1171
+ # matcher: {
1172
+ # http_code: "HttpCodeMatcher",
1173
+ # },
1174
+ # path: "HealthCheckPath",
1175
+ # port: 1,
1176
+ # protocol: "HTTP", # accepts HTTP, HTTPS
1177
+ # protocol_version: "HTTP1", # accepts HTTP1, HTTP2
1178
+ # unhealthy_threshold_count: 1,
1179
+ # },
1180
+ # ip_address_type: "IPV4", # accepts IPV4, IPV6
1181
+ # port: 1, # required
1182
+ # protocol: "HTTP", # required, accepts HTTP, HTTPS
1183
+ # protocol_version: "HTTP1", # accepts HTTP1, HTTP2, GRPC
1184
+ # vpc_identifier: "VpcId", # required
1185
+ # },
1186
+ # name: "TargetGroupName", # required
1187
+ # tags: {
1188
+ # "TagKey" => "TagValue",
1189
+ # },
1190
+ # type: "IP", # required, accepts IP, LAMBDA, INSTANCE, ALB
1191
+ # })
1192
+ #
1193
+ # @example Response structure
1194
+ #
1195
+ # resp.arn #=> String
1196
+ # resp.config.health_check.enabled #=> Boolean
1197
+ # resp.config.health_check.health_check_interval_seconds #=> Integer
1198
+ # resp.config.health_check.health_check_timeout_seconds #=> Integer
1199
+ # resp.config.health_check.healthy_threshold_count #=> Integer
1200
+ # resp.config.health_check.matcher.http_code #=> String
1201
+ # resp.config.health_check.path #=> String
1202
+ # resp.config.health_check.port #=> Integer
1203
+ # resp.config.health_check.protocol #=> String, one of "HTTP", "HTTPS"
1204
+ # resp.config.health_check.protocol_version #=> String, one of "HTTP1", "HTTP2"
1205
+ # resp.config.health_check.unhealthy_threshold_count #=> Integer
1206
+ # resp.config.ip_address_type #=> String, one of "IPV4", "IPV6"
1207
+ # resp.config.port #=> Integer
1208
+ # resp.config.protocol #=> String, one of "HTTP", "HTTPS"
1209
+ # resp.config.protocol_version #=> String, one of "HTTP1", "HTTP2", "GRPC"
1210
+ # resp.config.vpc_identifier #=> String
1211
+ # resp.id #=> String
1212
+ # resp.name #=> String
1213
+ # resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
1214
+ # resp.type #=> String, one of "IP", "LAMBDA", "INSTANCE", "ALB"
1215
+ #
1216
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/CreateTargetGroup AWS API Documentation
1217
+ #
1218
+ # @overload create_target_group(params = {})
1219
+ # @param [Hash] params ({})
1220
+ def create_target_group(params = {}, options = {})
1221
+ req = build_request(:create_target_group, params)
1222
+ req.send_request(options)
1223
+ end
1224
+
1225
+ # Deletes the specified access log subscription.
1226
+ #
1227
+ # @option params [required, String] :access_log_subscription_identifier
1228
+ # The ID or Amazon Resource Name (ARN) of the access log subscription.
1229
+ #
1230
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1231
+ #
1232
+ # @example Request syntax with placeholder values
1233
+ #
1234
+ # resp = client.delete_access_log_subscription({
1235
+ # access_log_subscription_identifier: "AccessLogSubscriptionIdentifier", # required
1236
+ # })
1237
+ #
1238
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/DeleteAccessLogSubscription AWS API Documentation
1239
+ #
1240
+ # @overload delete_access_log_subscription(params = {})
1241
+ # @param [Hash] params ({})
1242
+ def delete_access_log_subscription(params = {}, options = {})
1243
+ req = build_request(:delete_access_log_subscription, params)
1244
+ req.send_request(options)
1245
+ end
1246
+
1247
+ # Deletes the specified auth policy. If an auth is set to `Amazon Web
1248
+ # Services_IAM` and the auth policy is deleted, all requests will be
1249
+ # denied by default. If you are trying to remove the auth policy
1250
+ # completely, you must set the auth\_type to `NONE`. If auth is enabled
1251
+ # on the resource, but no auth policy is set, all requests will be
1252
+ # denied.
1253
+ #
1254
+ # @option params [required, String] :resource_identifier
1255
+ # The ID or Amazon Resource Name (ARN) of the resource.
1256
+ #
1257
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1258
+ #
1259
+ # @example Request syntax with placeholder values
1260
+ #
1261
+ # resp = client.delete_auth_policy({
1262
+ # resource_identifier: "ResourceIdentifier", # required
1263
+ # })
1264
+ #
1265
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/DeleteAuthPolicy AWS API Documentation
1266
+ #
1267
+ # @overload delete_auth_policy(params = {})
1268
+ # @param [Hash] params ({})
1269
+ def delete_auth_policy(params = {}, options = {})
1270
+ req = build_request(:delete_auth_policy, params)
1271
+ req.send_request(options)
1272
+ end
1273
+
1274
+ # Deletes the specified listener.
1275
+ #
1276
+ # @option params [required, String] :listener_identifier
1277
+ # The ID or Amazon Resource Name (ARN) of the listener.
1278
+ #
1279
+ # @option params [required, String] :service_identifier
1280
+ # The ID or Amazon Resource Name (ARN) of the service.
1281
+ #
1282
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1283
+ #
1284
+ # @example Request syntax with placeholder values
1285
+ #
1286
+ # resp = client.delete_listener({
1287
+ # listener_identifier: "ListenerIdentifier", # required
1288
+ # service_identifier: "ServiceIdentifier", # required
1289
+ # })
1290
+ #
1291
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/DeleteListener AWS API Documentation
1292
+ #
1293
+ # @overload delete_listener(params = {})
1294
+ # @param [Hash] params ({})
1295
+ def delete_listener(params = {}, options = {})
1296
+ req = build_request(:delete_listener, params)
1297
+ req.send_request(options)
1298
+ end
1299
+
1300
+ # Deletes the specified resource policy.
1301
+ #
1302
+ # @option params [required, String] :resource_arn
1303
+ # The Amazon Resource Name (ARN) of the resource.
1304
+ #
1305
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1306
+ #
1307
+ # @example Request syntax with placeholder values
1308
+ #
1309
+ # resp = client.delete_resource_policy({
1310
+ # resource_arn: "ResourceArn", # required
1311
+ # })
1312
+ #
1313
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/DeleteResourcePolicy AWS API Documentation
1314
+ #
1315
+ # @overload delete_resource_policy(params = {})
1316
+ # @param [Hash] params ({})
1317
+ def delete_resource_policy(params = {}, options = {})
1318
+ req = build_request(:delete_resource_policy, params)
1319
+ req.send_request(options)
1320
+ end
1321
+
1322
+ # Deletes a listener rule. Each listener has a default rule for checking
1323
+ # connection requests, but you can define additional rules. Each rule
1324
+ # consists of a priority, one or more actions, and one or more
1325
+ # conditions. You can delete additional listener rules, but you cannot
1326
+ # delete the default rule.
1327
+ #
1328
+ # For more information, see [Listener rules][1] in the *Amazon VPC
1329
+ # Lattice User Guide*.
1330
+ #
1331
+ #
1332
+ #
1333
+ # [1]: https://docs.aws.amazon.com/vpc-lattice/latest/ug/listeners.html#listener-rules
1334
+ #
1335
+ # @option params [required, String] :listener_identifier
1336
+ # The ID or Amazon Resource Name (ARN) of the listener.
1337
+ #
1338
+ # @option params [required, String] :rule_identifier
1339
+ # The ID or Amazon Resource Name (ARN) of the rule.
1340
+ #
1341
+ # @option params [required, String] :service_identifier
1342
+ # The ID or Amazon Resource Name (ARN) of the service.
1343
+ #
1344
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1345
+ #
1346
+ # @example Request syntax with placeholder values
1347
+ #
1348
+ # resp = client.delete_rule({
1349
+ # listener_identifier: "ListenerIdentifier", # required
1350
+ # rule_identifier: "RuleIdentifier", # required
1351
+ # service_identifier: "ServiceIdentifier", # required
1352
+ # })
1353
+ #
1354
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/DeleteRule AWS API Documentation
1355
+ #
1356
+ # @overload delete_rule(params = {})
1357
+ # @param [Hash] params ({})
1358
+ def delete_rule(params = {}, options = {})
1359
+ req = build_request(:delete_rule, params)
1360
+ req.send_request(options)
1361
+ end
1362
+
1363
+ # Deletes a service. A service can't be deleted if it's associated
1364
+ # with a service network. If you delete a service, all resources related
1365
+ # to the service, such as the resource policy, auth policy, listeners,
1366
+ # listener rules, and access log subscriptions, are also deleted. For
1367
+ # more information, see [Delete a service][1] in the *Amazon VPC Lattice
1368
+ # User Guide*.
1369
+ #
1370
+ #
1371
+ #
1372
+ # [1]: https://docs.aws.amazon.com/vpc-lattice/latest/ug/services.html#delete-service
1373
+ #
1374
+ # @option params [required, String] :service_identifier
1375
+ # The ID or Amazon Resource Name (ARN) of the service.
1376
+ #
1377
+ # @return [Types::DeleteServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1378
+ #
1379
+ # * {Types::DeleteServiceResponse#arn #arn} => String
1380
+ # * {Types::DeleteServiceResponse#id #id} => String
1381
+ # * {Types::DeleteServiceResponse#name #name} => String
1382
+ # * {Types::DeleteServiceResponse#status #status} => String
1383
+ #
1384
+ # @example Request syntax with placeholder values
1385
+ #
1386
+ # resp = client.delete_service({
1387
+ # service_identifier: "ServiceIdentifier", # required
1388
+ # })
1389
+ #
1390
+ # @example Response structure
1391
+ #
1392
+ # resp.arn #=> String
1393
+ # resp.id #=> String
1394
+ # resp.name #=> String
1395
+ # resp.status #=> String, one of "ACTIVE", "CREATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
1396
+ #
1397
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/DeleteService AWS API Documentation
1398
+ #
1399
+ # @overload delete_service(params = {})
1400
+ # @param [Hash] params ({})
1401
+ def delete_service(params = {}, options = {})
1402
+ req = build_request(:delete_service, params)
1403
+ req.send_request(options)
1404
+ end
1405
+
1406
+ # Deletes a service network. You can only delete the service network if
1407
+ # there is no service or VPC associated with it. If you delete a service
1408
+ # network, all resources related to the service network, such as the
1409
+ # resource policy, auth policy, and access log subscriptions, are also
1410
+ # deleted. For more information, see [Delete a service network][1] in
1411
+ # the *Amazon VPC Lattice User Guide*.
1412
+ #
1413
+ #
1414
+ #
1415
+ # [1]: https://docs.aws.amazon.com/vpc-lattice/latest/ug/service-networks.html#delete-service-network
1416
+ #
1417
+ # @option params [required, String] :service_network_identifier
1418
+ # The Amazon Resource Name (ARN) or ID of the service network.
1419
+ #
1420
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1421
+ #
1422
+ # @example Request syntax with placeholder values
1423
+ #
1424
+ # resp = client.delete_service_network({
1425
+ # service_network_identifier: "ServiceNetworkIdentifier", # required
1426
+ # })
1427
+ #
1428
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/DeleteServiceNetwork AWS API Documentation
1429
+ #
1430
+ # @overload delete_service_network(params = {})
1431
+ # @param [Hash] params ({})
1432
+ def delete_service_network(params = {}, options = {})
1433
+ req = build_request(:delete_service_network, params)
1434
+ req.send_request(options)
1435
+ end
1436
+
1437
+ # Deletes the association between a specified service and the specific
1438
+ # service network. This request will fail if an association is still in
1439
+ # progress.
1440
+ #
1441
+ # @option params [required, String] :service_network_service_association_identifier
1442
+ # The ID or Amazon Resource Name (ARN) of the association.
1443
+ #
1444
+ # @return [Types::DeleteServiceNetworkServiceAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1445
+ #
1446
+ # * {Types::DeleteServiceNetworkServiceAssociationResponse#arn #arn} => String
1447
+ # * {Types::DeleteServiceNetworkServiceAssociationResponse#id #id} => String
1448
+ # * {Types::DeleteServiceNetworkServiceAssociationResponse#status #status} => String
1449
+ #
1450
+ # @example Request syntax with placeholder values
1451
+ #
1452
+ # resp = client.delete_service_network_service_association({
1453
+ # service_network_service_association_identifier: "ServiceNetworkServiceAssociationIdentifier", # required
1454
+ # })
1455
+ #
1456
+ # @example Response structure
1457
+ #
1458
+ # resp.arn #=> String
1459
+ # resp.id #=> String
1460
+ # resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
1461
+ #
1462
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/DeleteServiceNetworkServiceAssociation AWS API Documentation
1463
+ #
1464
+ # @overload delete_service_network_service_association(params = {})
1465
+ # @param [Hash] params ({})
1466
+ def delete_service_network_service_association(params = {}, options = {})
1467
+ req = build_request(:delete_service_network_service_association, params)
1468
+ req.send_request(options)
1469
+ end
1470
+
1471
+ # Disassociates the VPC from the service network. You can't
1472
+ # disassociate the VPC if there is a create or update association in
1473
+ # progress.
1474
+ #
1475
+ # @option params [required, String] :service_network_vpc_association_identifier
1476
+ # The ID or Amazon Resource Name (ARN) of the association.
1477
+ #
1478
+ # @return [Types::DeleteServiceNetworkVpcAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1479
+ #
1480
+ # * {Types::DeleteServiceNetworkVpcAssociationResponse#arn #arn} => String
1481
+ # * {Types::DeleteServiceNetworkVpcAssociationResponse#id #id} => String
1482
+ # * {Types::DeleteServiceNetworkVpcAssociationResponse#status #status} => String
1483
+ #
1484
+ # @example Request syntax with placeholder values
1485
+ #
1486
+ # resp = client.delete_service_network_vpc_association({
1487
+ # service_network_vpc_association_identifier: "ServiceNetworkVpcAssociationIdentifier", # required
1488
+ # })
1489
+ #
1490
+ # @example Response structure
1491
+ #
1492
+ # resp.arn #=> String
1493
+ # resp.id #=> String
1494
+ # resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED", "UPDATE_FAILED"
1495
+ #
1496
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/DeleteServiceNetworkVpcAssociation AWS API Documentation
1497
+ #
1498
+ # @overload delete_service_network_vpc_association(params = {})
1499
+ # @param [Hash] params ({})
1500
+ def delete_service_network_vpc_association(params = {}, options = {})
1501
+ req = build_request(:delete_service_network_vpc_association, params)
1502
+ req.send_request(options)
1503
+ end
1504
+
1505
+ # Deletes a target group. You can't delete a target group if it is used
1506
+ # in a listener rule or if the target group creation is in progress.
1507
+ #
1508
+ # @option params [required, String] :target_group_identifier
1509
+ # The ID or Amazon Resource Name (ARN) of the target group.
1510
+ #
1511
+ # @return [Types::DeleteTargetGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1512
+ #
1513
+ # * {Types::DeleteTargetGroupResponse#arn #arn} => String
1514
+ # * {Types::DeleteTargetGroupResponse#id #id} => String
1515
+ # * {Types::DeleteTargetGroupResponse#status #status} => String
1516
+ #
1517
+ # @example Request syntax with placeholder values
1518
+ #
1519
+ # resp = client.delete_target_group({
1520
+ # target_group_identifier: "TargetGroupIdentifier", # required
1521
+ # })
1522
+ #
1523
+ # @example Response structure
1524
+ #
1525
+ # resp.arn #=> String
1526
+ # resp.id #=> String
1527
+ # resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
1528
+ #
1529
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/DeleteTargetGroup AWS API Documentation
1530
+ #
1531
+ # @overload delete_target_group(params = {})
1532
+ # @param [Hash] params ({})
1533
+ def delete_target_group(params = {}, options = {})
1534
+ req = build_request(:delete_target_group, params)
1535
+ req.send_request(options)
1536
+ end
1537
+
1538
+ # Deregisters the specified targets from the specified target group.
1539
+ #
1540
+ # @option params [required, String] :target_group_identifier
1541
+ # The ID or Amazon Resource Name (ARN) of the target group.
1542
+ #
1543
+ # @option params [required, Array<Types::Target>] :targets
1544
+ # The targets to deregister.
1545
+ #
1546
+ # @return [Types::DeregisterTargetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1547
+ #
1548
+ # * {Types::DeregisterTargetsResponse#successful #successful} => Array&lt;Types::Target&gt;
1549
+ # * {Types::DeregisterTargetsResponse#unsuccessful #unsuccessful} => Array&lt;Types::TargetFailure&gt;
1550
+ #
1551
+ # @example Request syntax with placeholder values
1552
+ #
1553
+ # resp = client.deregister_targets({
1554
+ # target_group_identifier: "TargetGroupIdentifier", # required
1555
+ # targets: [ # required
1556
+ # {
1557
+ # id: "TargetIdString", # required
1558
+ # port: 1,
1559
+ # },
1560
+ # ],
1561
+ # })
1562
+ #
1563
+ # @example Response structure
1564
+ #
1565
+ # resp.successful #=> Array
1566
+ # resp.successful[0].id #=> String
1567
+ # resp.successful[0].port #=> Integer
1568
+ # resp.unsuccessful #=> Array
1569
+ # resp.unsuccessful[0].failure_code #=> String
1570
+ # resp.unsuccessful[0].failure_message #=> String
1571
+ # resp.unsuccessful[0].id #=> String
1572
+ # resp.unsuccessful[0].port #=> Integer
1573
+ #
1574
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/DeregisterTargets AWS API Documentation
1575
+ #
1576
+ # @overload deregister_targets(params = {})
1577
+ # @param [Hash] params ({})
1578
+ def deregister_targets(params = {}, options = {})
1579
+ req = build_request(:deregister_targets, params)
1580
+ req.send_request(options)
1581
+ end
1582
+
1583
+ # Retrieves information about the specified access log subscription.
1584
+ #
1585
+ # @option params [required, String] :access_log_subscription_identifier
1586
+ # The ID or Amazon Resource Name (ARN) of the access log subscription.
1587
+ #
1588
+ # @return [Types::GetAccessLogSubscriptionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1589
+ #
1590
+ # * {Types::GetAccessLogSubscriptionResponse#arn #arn} => String
1591
+ # * {Types::GetAccessLogSubscriptionResponse#created_at #created_at} => Time
1592
+ # * {Types::GetAccessLogSubscriptionResponse#destination_arn #destination_arn} => String
1593
+ # * {Types::GetAccessLogSubscriptionResponse#id #id} => String
1594
+ # * {Types::GetAccessLogSubscriptionResponse#last_updated_at #last_updated_at} => Time
1595
+ # * {Types::GetAccessLogSubscriptionResponse#resource_arn #resource_arn} => String
1596
+ # * {Types::GetAccessLogSubscriptionResponse#resource_id #resource_id} => String
1597
+ #
1598
+ # @example Request syntax with placeholder values
1599
+ #
1600
+ # resp = client.get_access_log_subscription({
1601
+ # access_log_subscription_identifier: "AccessLogSubscriptionIdentifier", # required
1602
+ # })
1603
+ #
1604
+ # @example Response structure
1605
+ #
1606
+ # resp.arn #=> String
1607
+ # resp.created_at #=> Time
1608
+ # resp.destination_arn #=> String
1609
+ # resp.id #=> String
1610
+ # resp.last_updated_at #=> Time
1611
+ # resp.resource_arn #=> String
1612
+ # resp.resource_id #=> String
1613
+ #
1614
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/GetAccessLogSubscription AWS API Documentation
1615
+ #
1616
+ # @overload get_access_log_subscription(params = {})
1617
+ # @param [Hash] params ({})
1618
+ def get_access_log_subscription(params = {}, options = {})
1619
+ req = build_request(:get_access_log_subscription, params)
1620
+ req.send_request(options)
1621
+ end
1622
+
1623
+ # Retrieves information about the auth policy for the specified service
1624
+ # or service network.
1625
+ #
1626
+ # @option params [required, String] :resource_identifier
1627
+ # The ID or Amazon Resource Name (ARN) of the service network or
1628
+ # service.
1629
+ #
1630
+ # @return [Types::GetAuthPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1631
+ #
1632
+ # * {Types::GetAuthPolicyResponse#created_at #created_at} => Time
1633
+ # * {Types::GetAuthPolicyResponse#last_updated_at #last_updated_at} => Time
1634
+ # * {Types::GetAuthPolicyResponse#policy #policy} => String
1635
+ # * {Types::GetAuthPolicyResponse#state #state} => String
1636
+ #
1637
+ # @example Request syntax with placeholder values
1638
+ #
1639
+ # resp = client.get_auth_policy({
1640
+ # resource_identifier: "ResourceIdentifier", # required
1641
+ # })
1642
+ #
1643
+ # @example Response structure
1644
+ #
1645
+ # resp.created_at #=> Time
1646
+ # resp.last_updated_at #=> Time
1647
+ # resp.policy #=> String
1648
+ # resp.state #=> String, one of "Active", "Inactive"
1649
+ #
1650
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/GetAuthPolicy AWS API Documentation
1651
+ #
1652
+ # @overload get_auth_policy(params = {})
1653
+ # @param [Hash] params ({})
1654
+ def get_auth_policy(params = {}, options = {})
1655
+ req = build_request(:get_auth_policy, params)
1656
+ req.send_request(options)
1657
+ end
1658
+
1659
+ # Retrieves information about the specified listener for the specified
1660
+ # service.
1661
+ #
1662
+ # @option params [required, String] :listener_identifier
1663
+ # The ID or Amazon Resource Name (ARN) of the listener.
1664
+ #
1665
+ # @option params [required, String] :service_identifier
1666
+ # The ID or Amazon Resource Name (ARN) of the service.
1667
+ #
1668
+ # @return [Types::GetListenerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1669
+ #
1670
+ # * {Types::GetListenerResponse#arn #arn} => String
1671
+ # * {Types::GetListenerResponse#created_at #created_at} => Time
1672
+ # * {Types::GetListenerResponse#default_action #default_action} => Types::RuleAction
1673
+ # * {Types::GetListenerResponse#id #id} => String
1674
+ # * {Types::GetListenerResponse#last_updated_at #last_updated_at} => Time
1675
+ # * {Types::GetListenerResponse#name #name} => String
1676
+ # * {Types::GetListenerResponse#port #port} => Integer
1677
+ # * {Types::GetListenerResponse#protocol #protocol} => String
1678
+ # * {Types::GetListenerResponse#service_arn #service_arn} => String
1679
+ # * {Types::GetListenerResponse#service_id #service_id} => String
1680
+ #
1681
+ # @example Request syntax with placeholder values
1682
+ #
1683
+ # resp = client.get_listener({
1684
+ # listener_identifier: "ListenerIdentifier", # required
1685
+ # service_identifier: "ServiceIdentifier", # required
1686
+ # })
1687
+ #
1688
+ # @example Response structure
1689
+ #
1690
+ # resp.arn #=> String
1691
+ # resp.created_at #=> Time
1692
+ # resp.default_action.fixed_response.status_code #=> Integer
1693
+ # resp.default_action.forward.target_groups #=> Array
1694
+ # resp.default_action.forward.target_groups[0].target_group_identifier #=> String
1695
+ # resp.default_action.forward.target_groups[0].weight #=> Integer
1696
+ # resp.id #=> String
1697
+ # resp.last_updated_at #=> Time
1698
+ # resp.name #=> String
1699
+ # resp.port #=> Integer
1700
+ # resp.protocol #=> String, one of "HTTP", "HTTPS"
1701
+ # resp.service_arn #=> String
1702
+ # resp.service_id #=> String
1703
+ #
1704
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/GetListener AWS API Documentation
1705
+ #
1706
+ # @overload get_listener(params = {})
1707
+ # @param [Hash] params ({})
1708
+ def get_listener(params = {}, options = {})
1709
+ req = build_request(:get_listener, params)
1710
+ req.send_request(options)
1711
+ end
1712
+
1713
+ # Retrieves information about the resource policy. The resource policy
1714
+ # is an IAM policy created by AWS RAM on behalf of the resource owner
1715
+ # when they share a resource.
1716
+ #
1717
+ # @option params [required, String] :resource_arn
1718
+ # An IAM policy.
1719
+ #
1720
+ # @return [Types::GetResourcePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1721
+ #
1722
+ # * {Types::GetResourcePolicyResponse#policy #policy} => String
1723
+ #
1724
+ # @example Request syntax with placeholder values
1725
+ #
1726
+ # resp = client.get_resource_policy({
1727
+ # resource_arn: "ResourceArn", # required
1728
+ # })
1729
+ #
1730
+ # @example Response structure
1731
+ #
1732
+ # resp.policy #=> String
1733
+ #
1734
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/GetResourcePolicy AWS API Documentation
1735
+ #
1736
+ # @overload get_resource_policy(params = {})
1737
+ # @param [Hash] params ({})
1738
+ def get_resource_policy(params = {}, options = {})
1739
+ req = build_request(:get_resource_policy, params)
1740
+ req.send_request(options)
1741
+ end
1742
+
1743
+ # Retrieves information about listener rules. You can also retrieve
1744
+ # information about the default listener rule. For more information, see
1745
+ # [Listener rules][1] in the *Amazon VPC Lattice User Guide*.
1746
+ #
1747
+ #
1748
+ #
1749
+ # [1]: https://docs.aws.amazon.com/vpc-lattice/latest/ug/listeners.html#listener-rules
1750
+ #
1751
+ # @option params [required, String] :listener_identifier
1752
+ # The ID or Amazon Resource Name (ARN) of the listener.
1753
+ #
1754
+ # @option params [required, String] :rule_identifier
1755
+ # The ID or Amazon Resource Name (ARN) of the listener rule.
1756
+ #
1757
+ # @option params [required, String] :service_identifier
1758
+ # The ID or Amazon Resource Name (ARN) of the service.
1759
+ #
1760
+ # @return [Types::GetRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1761
+ #
1762
+ # * {Types::GetRuleResponse#action #action} => Types::RuleAction
1763
+ # * {Types::GetRuleResponse#arn #arn} => String
1764
+ # * {Types::GetRuleResponse#created_at #created_at} => Time
1765
+ # * {Types::GetRuleResponse#id #id} => String
1766
+ # * {Types::GetRuleResponse#is_default #is_default} => Boolean
1767
+ # * {Types::GetRuleResponse#last_updated_at #last_updated_at} => Time
1768
+ # * {Types::GetRuleResponse#match #match} => Types::RuleMatch
1769
+ # * {Types::GetRuleResponse#name #name} => String
1770
+ # * {Types::GetRuleResponse#priority #priority} => Integer
1771
+ #
1772
+ # @example Request syntax with placeholder values
1773
+ #
1774
+ # resp = client.get_rule({
1775
+ # listener_identifier: "ListenerIdentifier", # required
1776
+ # rule_identifier: "RuleIdentifier", # required
1777
+ # service_identifier: "ServiceIdentifier", # required
1778
+ # })
1779
+ #
1780
+ # @example Response structure
1781
+ #
1782
+ # resp.action.fixed_response.status_code #=> Integer
1783
+ # resp.action.forward.target_groups #=> Array
1784
+ # resp.action.forward.target_groups[0].target_group_identifier #=> String
1785
+ # resp.action.forward.target_groups[0].weight #=> Integer
1786
+ # resp.arn #=> String
1787
+ # resp.created_at #=> Time
1788
+ # resp.id #=> String
1789
+ # resp.is_default #=> Boolean
1790
+ # resp.last_updated_at #=> Time
1791
+ # resp.match.http_match.header_matches #=> Array
1792
+ # resp.match.http_match.header_matches[0].case_sensitive #=> Boolean
1793
+ # resp.match.http_match.header_matches[0].match.contains #=> String
1794
+ # resp.match.http_match.header_matches[0].match.exact #=> String
1795
+ # resp.match.http_match.header_matches[0].match.prefix #=> String
1796
+ # resp.match.http_match.header_matches[0].name #=> String
1797
+ # resp.match.http_match.method #=> String
1798
+ # resp.match.http_match.path_match.case_sensitive #=> Boolean
1799
+ # resp.match.http_match.path_match.match.exact #=> String
1800
+ # resp.match.http_match.path_match.match.prefix #=> String
1801
+ # resp.name #=> String
1802
+ # resp.priority #=> Integer
1803
+ #
1804
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/GetRule AWS API Documentation
1805
+ #
1806
+ # @overload get_rule(params = {})
1807
+ # @param [Hash] params ({})
1808
+ def get_rule(params = {}, options = {})
1809
+ req = build_request(:get_rule, params)
1810
+ req.send_request(options)
1811
+ end
1812
+
1813
+ # Retrieves information about the specified service.
1814
+ #
1815
+ # @option params [required, String] :service_identifier
1816
+ # The ID or Amazon Resource Name (ARN) of the service.
1817
+ #
1818
+ # @return [Types::GetServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1819
+ #
1820
+ # * {Types::GetServiceResponse#arn #arn} => String
1821
+ # * {Types::GetServiceResponse#auth_type #auth_type} => String
1822
+ # * {Types::GetServiceResponse#certificate_arn #certificate_arn} => String
1823
+ # * {Types::GetServiceResponse#created_at #created_at} => Time
1824
+ # * {Types::GetServiceResponse#custom_domain_name #custom_domain_name} => String
1825
+ # * {Types::GetServiceResponse#dns_entry #dns_entry} => Types::DnsEntry
1826
+ # * {Types::GetServiceResponse#failure_code #failure_code} => String
1827
+ # * {Types::GetServiceResponse#failure_message #failure_message} => String
1828
+ # * {Types::GetServiceResponse#id #id} => String
1829
+ # * {Types::GetServiceResponse#last_updated_at #last_updated_at} => Time
1830
+ # * {Types::GetServiceResponse#name #name} => String
1831
+ # * {Types::GetServiceResponse#status #status} => String
1832
+ #
1833
+ # @example Request syntax with placeholder values
1834
+ #
1835
+ # resp = client.get_service({
1836
+ # service_identifier: "ServiceIdentifier", # required
1837
+ # })
1838
+ #
1839
+ # @example Response structure
1840
+ #
1841
+ # resp.arn #=> String
1842
+ # resp.auth_type #=> String, one of "NONE", "AWS_IAM"
1843
+ # resp.certificate_arn #=> String
1844
+ # resp.created_at #=> Time
1845
+ # resp.custom_domain_name #=> String
1846
+ # resp.dns_entry.domain_name #=> String
1847
+ # resp.dns_entry.hosted_zone_id #=> String
1848
+ # resp.failure_code #=> String
1849
+ # resp.failure_message #=> String
1850
+ # resp.id #=> String
1851
+ # resp.last_updated_at #=> Time
1852
+ # resp.name #=> String
1853
+ # resp.status #=> String, one of "ACTIVE", "CREATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
1854
+ #
1855
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/GetService AWS API Documentation
1856
+ #
1857
+ # @overload get_service(params = {})
1858
+ # @param [Hash] params ({})
1859
+ def get_service(params = {}, options = {})
1860
+ req = build_request(:get_service, params)
1861
+ req.send_request(options)
1862
+ end
1863
+
1864
+ # Retrieves information about the specified service network.
1865
+ #
1866
+ # @option params [required, String] :service_network_identifier
1867
+ # The ID or Amazon Resource Name (ARN) of the service network.
1868
+ #
1869
+ # @return [Types::GetServiceNetworkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1870
+ #
1871
+ # * {Types::GetServiceNetworkResponse#arn #arn} => String
1872
+ # * {Types::GetServiceNetworkResponse#auth_type #auth_type} => String
1873
+ # * {Types::GetServiceNetworkResponse#created_at #created_at} => Time
1874
+ # * {Types::GetServiceNetworkResponse#id #id} => String
1875
+ # * {Types::GetServiceNetworkResponse#last_updated_at #last_updated_at} => Time
1876
+ # * {Types::GetServiceNetworkResponse#name #name} => String
1877
+ # * {Types::GetServiceNetworkResponse#number_of_associated_services #number_of_associated_services} => Integer
1878
+ # * {Types::GetServiceNetworkResponse#number_of_associated_vp_cs #number_of_associated_vp_cs} => Integer
1879
+ #
1880
+ # @example Request syntax with placeholder values
1881
+ #
1882
+ # resp = client.get_service_network({
1883
+ # service_network_identifier: "ServiceNetworkIdentifier", # required
1884
+ # })
1885
+ #
1886
+ # @example Response structure
1887
+ #
1888
+ # resp.arn #=> String
1889
+ # resp.auth_type #=> String, one of "NONE", "AWS_IAM"
1890
+ # resp.created_at #=> Time
1891
+ # resp.id #=> String
1892
+ # resp.last_updated_at #=> Time
1893
+ # resp.name #=> String
1894
+ # resp.number_of_associated_services #=> Integer
1895
+ # resp.number_of_associated_vp_cs #=> Integer
1896
+ #
1897
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/GetServiceNetwork AWS API Documentation
1898
+ #
1899
+ # @overload get_service_network(params = {})
1900
+ # @param [Hash] params ({})
1901
+ def get_service_network(params = {}, options = {})
1902
+ req = build_request(:get_service_network, params)
1903
+ req.send_request(options)
1904
+ end
1905
+
1906
+ # Retrieves information about the specified association between a
1907
+ # service network and a service.
1908
+ #
1909
+ # @option params [required, String] :service_network_service_association_identifier
1910
+ # The ID or Amazon Resource Name (ARN) of the association.
1911
+ #
1912
+ # @return [Types::GetServiceNetworkServiceAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1913
+ #
1914
+ # * {Types::GetServiceNetworkServiceAssociationResponse#arn #arn} => String
1915
+ # * {Types::GetServiceNetworkServiceAssociationResponse#created_at #created_at} => Time
1916
+ # * {Types::GetServiceNetworkServiceAssociationResponse#created_by #created_by} => String
1917
+ # * {Types::GetServiceNetworkServiceAssociationResponse#custom_domain_name #custom_domain_name} => String
1918
+ # * {Types::GetServiceNetworkServiceAssociationResponse#dns_entry #dns_entry} => Types::DnsEntry
1919
+ # * {Types::GetServiceNetworkServiceAssociationResponse#failure_code #failure_code} => String
1920
+ # * {Types::GetServiceNetworkServiceAssociationResponse#failure_message #failure_message} => String
1921
+ # * {Types::GetServiceNetworkServiceAssociationResponse#id #id} => String
1922
+ # * {Types::GetServiceNetworkServiceAssociationResponse#service_arn #service_arn} => String
1923
+ # * {Types::GetServiceNetworkServiceAssociationResponse#service_id #service_id} => String
1924
+ # * {Types::GetServiceNetworkServiceAssociationResponse#service_name #service_name} => String
1925
+ # * {Types::GetServiceNetworkServiceAssociationResponse#service_network_arn #service_network_arn} => String
1926
+ # * {Types::GetServiceNetworkServiceAssociationResponse#service_network_id #service_network_id} => String
1927
+ # * {Types::GetServiceNetworkServiceAssociationResponse#service_network_name #service_network_name} => String
1928
+ # * {Types::GetServiceNetworkServiceAssociationResponse#status #status} => String
1929
+ #
1930
+ # @example Request syntax with placeholder values
1931
+ #
1932
+ # resp = client.get_service_network_service_association({
1933
+ # service_network_service_association_identifier: "ServiceNetworkServiceAssociationIdentifier", # required
1934
+ # })
1935
+ #
1936
+ # @example Response structure
1937
+ #
1938
+ # resp.arn #=> String
1939
+ # resp.created_at #=> Time
1940
+ # resp.created_by #=> String
1941
+ # resp.custom_domain_name #=> String
1942
+ # resp.dns_entry.domain_name #=> String
1943
+ # resp.dns_entry.hosted_zone_id #=> String
1944
+ # resp.failure_code #=> String
1945
+ # resp.failure_message #=> String
1946
+ # resp.id #=> String
1947
+ # resp.service_arn #=> String
1948
+ # resp.service_id #=> String
1949
+ # resp.service_name #=> String
1950
+ # resp.service_network_arn #=> String
1951
+ # resp.service_network_id #=> String
1952
+ # resp.service_network_name #=> String
1953
+ # resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
1954
+ #
1955
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/GetServiceNetworkServiceAssociation AWS API Documentation
1956
+ #
1957
+ # @overload get_service_network_service_association(params = {})
1958
+ # @param [Hash] params ({})
1959
+ def get_service_network_service_association(params = {}, options = {})
1960
+ req = build_request(:get_service_network_service_association, params)
1961
+ req.send_request(options)
1962
+ end
1963
+
1964
+ # Retrieves information about the association between a service network
1965
+ # and a VPC.
1966
+ #
1967
+ # @option params [required, String] :service_network_vpc_association_identifier
1968
+ # The ID or Amazon Resource Name (ARN) of the association.
1969
+ #
1970
+ # @return [Types::GetServiceNetworkVpcAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1971
+ #
1972
+ # * {Types::GetServiceNetworkVpcAssociationResponse#arn #arn} => String
1973
+ # * {Types::GetServiceNetworkVpcAssociationResponse#created_at #created_at} => Time
1974
+ # * {Types::GetServiceNetworkVpcAssociationResponse#created_by #created_by} => String
1975
+ # * {Types::GetServiceNetworkVpcAssociationResponse#failure_code #failure_code} => String
1976
+ # * {Types::GetServiceNetworkVpcAssociationResponse#failure_message #failure_message} => String
1977
+ # * {Types::GetServiceNetworkVpcAssociationResponse#id #id} => String
1978
+ # * {Types::GetServiceNetworkVpcAssociationResponse#last_updated_at #last_updated_at} => Time
1979
+ # * {Types::GetServiceNetworkVpcAssociationResponse#security_group_ids #security_group_ids} => Array&lt;String&gt;
1980
+ # * {Types::GetServiceNetworkVpcAssociationResponse#service_network_arn #service_network_arn} => String
1981
+ # * {Types::GetServiceNetworkVpcAssociationResponse#service_network_id #service_network_id} => String
1982
+ # * {Types::GetServiceNetworkVpcAssociationResponse#service_network_name #service_network_name} => String
1983
+ # * {Types::GetServiceNetworkVpcAssociationResponse#status #status} => String
1984
+ # * {Types::GetServiceNetworkVpcAssociationResponse#vpc_id #vpc_id} => String
1985
+ #
1986
+ # @example Request syntax with placeholder values
1987
+ #
1988
+ # resp = client.get_service_network_vpc_association({
1989
+ # service_network_vpc_association_identifier: "ServiceNetworkVpcAssociationIdentifier", # required
1990
+ # })
1991
+ #
1992
+ # @example Response structure
1993
+ #
1994
+ # resp.arn #=> String
1995
+ # resp.created_at #=> Time
1996
+ # resp.created_by #=> String
1997
+ # resp.failure_code #=> String
1998
+ # resp.failure_message #=> String
1999
+ # resp.id #=> String
2000
+ # resp.last_updated_at #=> Time
2001
+ # resp.security_group_ids #=> Array
2002
+ # resp.security_group_ids[0] #=> String
2003
+ # resp.service_network_arn #=> String
2004
+ # resp.service_network_id #=> String
2005
+ # resp.service_network_name #=> String
2006
+ # resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED", "UPDATE_FAILED"
2007
+ # resp.vpc_id #=> String
2008
+ #
2009
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/GetServiceNetworkVpcAssociation AWS API Documentation
2010
+ #
2011
+ # @overload get_service_network_vpc_association(params = {})
2012
+ # @param [Hash] params ({})
2013
+ def get_service_network_vpc_association(params = {}, options = {})
2014
+ req = build_request(:get_service_network_vpc_association, params)
2015
+ req.send_request(options)
2016
+ end
2017
+
2018
+ # Retrieves information about the specified target group.
2019
+ #
2020
+ # @option params [required, String] :target_group_identifier
2021
+ # The ID or Amazon Resource Name (ARN) of the target group.
2022
+ #
2023
+ # @return [Types::GetTargetGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2024
+ #
2025
+ # * {Types::GetTargetGroupResponse#arn #arn} => String
2026
+ # * {Types::GetTargetGroupResponse#config #config} => Types::TargetGroupConfig
2027
+ # * {Types::GetTargetGroupResponse#created_at #created_at} => Time
2028
+ # * {Types::GetTargetGroupResponse#failure_code #failure_code} => String
2029
+ # * {Types::GetTargetGroupResponse#failure_message #failure_message} => String
2030
+ # * {Types::GetTargetGroupResponse#id #id} => String
2031
+ # * {Types::GetTargetGroupResponse#last_updated_at #last_updated_at} => Time
2032
+ # * {Types::GetTargetGroupResponse#name #name} => String
2033
+ # * {Types::GetTargetGroupResponse#service_arns #service_arns} => Array&lt;String&gt;
2034
+ # * {Types::GetTargetGroupResponse#status #status} => String
2035
+ # * {Types::GetTargetGroupResponse#type #type} => String
2036
+ #
2037
+ # @example Request syntax with placeholder values
2038
+ #
2039
+ # resp = client.get_target_group({
2040
+ # target_group_identifier: "TargetGroupIdentifier", # required
2041
+ # })
2042
+ #
2043
+ # @example Response structure
2044
+ #
2045
+ # resp.arn #=> String
2046
+ # resp.config.health_check.enabled #=> Boolean
2047
+ # resp.config.health_check.health_check_interval_seconds #=> Integer
2048
+ # resp.config.health_check.health_check_timeout_seconds #=> Integer
2049
+ # resp.config.health_check.healthy_threshold_count #=> Integer
2050
+ # resp.config.health_check.matcher.http_code #=> String
2051
+ # resp.config.health_check.path #=> String
2052
+ # resp.config.health_check.port #=> Integer
2053
+ # resp.config.health_check.protocol #=> String, one of "HTTP", "HTTPS"
2054
+ # resp.config.health_check.protocol_version #=> String, one of "HTTP1", "HTTP2"
2055
+ # resp.config.health_check.unhealthy_threshold_count #=> Integer
2056
+ # resp.config.ip_address_type #=> String, one of "IPV4", "IPV6"
2057
+ # resp.config.port #=> Integer
2058
+ # resp.config.protocol #=> String, one of "HTTP", "HTTPS"
2059
+ # resp.config.protocol_version #=> String, one of "HTTP1", "HTTP2", "GRPC"
2060
+ # resp.config.vpc_identifier #=> String
2061
+ # resp.created_at #=> Time
2062
+ # resp.failure_code #=> String
2063
+ # resp.failure_message #=> String
2064
+ # resp.id #=> String
2065
+ # resp.last_updated_at #=> Time
2066
+ # resp.name #=> String
2067
+ # resp.service_arns #=> Array
2068
+ # resp.service_arns[0] #=> String
2069
+ # resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
2070
+ # resp.type #=> String, one of "IP", "LAMBDA", "INSTANCE", "ALB"
2071
+ #
2072
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/GetTargetGroup AWS API Documentation
2073
+ #
2074
+ # @overload get_target_group(params = {})
2075
+ # @param [Hash] params ({})
2076
+ def get_target_group(params = {}, options = {})
2077
+ req = build_request(:get_target_group, params)
2078
+ req.send_request(options)
2079
+ end
2080
+
2081
+ # Lists all access log subscriptions for the specified service network
2082
+ # or service.
2083
+ #
2084
+ # @option params [Integer] :max_results
2085
+ # The maximum number of results to return.
2086
+ #
2087
+ # @option params [String] :next_token
2088
+ # A pagination token for the next page of results.
2089
+ #
2090
+ # @option params [required, String] :resource_identifier
2091
+ # The ID or Amazon Resource Name (ARN) of the service network or
2092
+ # service.
2093
+ #
2094
+ # @return [Types::ListAccessLogSubscriptionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2095
+ #
2096
+ # * {Types::ListAccessLogSubscriptionsResponse#items #items} => Array&lt;Types::AccessLogSubscriptionSummary&gt;
2097
+ # * {Types::ListAccessLogSubscriptionsResponse#next_token #next_token} => String
2098
+ #
2099
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2100
+ #
2101
+ # @example Request syntax with placeholder values
2102
+ #
2103
+ # resp = client.list_access_log_subscriptions({
2104
+ # max_results: 1,
2105
+ # next_token: "NextToken",
2106
+ # resource_identifier: "ResourceIdentifier", # required
2107
+ # })
2108
+ #
2109
+ # @example Response structure
2110
+ #
2111
+ # resp.items #=> Array
2112
+ # resp.items[0].arn #=> String
2113
+ # resp.items[0].created_at #=> Time
2114
+ # resp.items[0].destination_arn #=> String
2115
+ # resp.items[0].id #=> String
2116
+ # resp.items[0].last_updated_at #=> Time
2117
+ # resp.items[0].resource_arn #=> String
2118
+ # resp.items[0].resource_id #=> String
2119
+ # resp.next_token #=> String
2120
+ #
2121
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/ListAccessLogSubscriptions AWS API Documentation
2122
+ #
2123
+ # @overload list_access_log_subscriptions(params = {})
2124
+ # @param [Hash] params ({})
2125
+ def list_access_log_subscriptions(params = {}, options = {})
2126
+ req = build_request(:list_access_log_subscriptions, params)
2127
+ req.send_request(options)
2128
+ end
2129
+
2130
+ # Lists the listeners for the specified service.
2131
+ #
2132
+ # @option params [Integer] :max_results
2133
+ # The maximum number of results to return.
2134
+ #
2135
+ # @option params [String] :next_token
2136
+ # A pagination token for the next page of results.
2137
+ #
2138
+ # @option params [required, String] :service_identifier
2139
+ # The ID or Amazon Resource Name (ARN) of the service.
2140
+ #
2141
+ # @return [Types::ListListenersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2142
+ #
2143
+ # * {Types::ListListenersResponse#items #items} => Array&lt;Types::ListenerSummary&gt;
2144
+ # * {Types::ListListenersResponse#next_token #next_token} => String
2145
+ #
2146
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2147
+ #
2148
+ # @example Request syntax with placeholder values
2149
+ #
2150
+ # resp = client.list_listeners({
2151
+ # max_results: 1,
2152
+ # next_token: "NextToken",
2153
+ # service_identifier: "ServiceIdentifier", # required
2154
+ # })
2155
+ #
2156
+ # @example Response structure
2157
+ #
2158
+ # resp.items #=> Array
2159
+ # resp.items[0].arn #=> String
2160
+ # resp.items[0].created_at #=> Time
2161
+ # resp.items[0].id #=> String
2162
+ # resp.items[0].last_updated_at #=> Time
2163
+ # resp.items[0].name #=> String
2164
+ # resp.items[0].port #=> Integer
2165
+ # resp.items[0].protocol #=> String, one of "HTTP", "HTTPS"
2166
+ # resp.next_token #=> String
2167
+ #
2168
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/ListListeners AWS API Documentation
2169
+ #
2170
+ # @overload list_listeners(params = {})
2171
+ # @param [Hash] params ({})
2172
+ def list_listeners(params = {}, options = {})
2173
+ req = build_request(:list_listeners, params)
2174
+ req.send_request(options)
2175
+ end
2176
+
2177
+ # Lists the rules for the listener.
2178
+ #
2179
+ # @option params [required, String] :listener_identifier
2180
+ # The ID or Amazon Resource Name (ARN) of the listener.
2181
+ #
2182
+ # @option params [Integer] :max_results
2183
+ # The maximum number of results to return.
2184
+ #
2185
+ # @option params [String] :next_token
2186
+ # A pagination token for the next page of results.
2187
+ #
2188
+ # @option params [required, String] :service_identifier
2189
+ # The ID or Amazon Resource Name (ARN) of the service.
2190
+ #
2191
+ # @return [Types::ListRulesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2192
+ #
2193
+ # * {Types::ListRulesResponse#items #items} => Array&lt;Types::RuleSummary&gt;
2194
+ # * {Types::ListRulesResponse#next_token #next_token} => String
2195
+ #
2196
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2197
+ #
2198
+ # @example Request syntax with placeholder values
2199
+ #
2200
+ # resp = client.list_rules({
2201
+ # listener_identifier: "ListenerIdentifier", # required
2202
+ # max_results: 1,
2203
+ # next_token: "NextToken",
2204
+ # service_identifier: "ServiceIdentifier", # required
2205
+ # })
2206
+ #
2207
+ # @example Response structure
2208
+ #
2209
+ # resp.items #=> Array
2210
+ # resp.items[0].arn #=> String
2211
+ # resp.items[0].created_at #=> Time
2212
+ # resp.items[0].id #=> String
2213
+ # resp.items[0].is_default #=> Boolean
2214
+ # resp.items[0].last_updated_at #=> Time
2215
+ # resp.items[0].name #=> String
2216
+ # resp.items[0].priority #=> Integer
2217
+ # resp.next_token #=> String
2218
+ #
2219
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/ListRules AWS API Documentation
2220
+ #
2221
+ # @overload list_rules(params = {})
2222
+ # @param [Hash] params ({})
2223
+ def list_rules(params = {}, options = {})
2224
+ req = build_request(:list_rules, params)
2225
+ req.send_request(options)
2226
+ end
2227
+
2228
+ # Lists the associations between the service network and the service.
2229
+ # You can filter the list either by service or service network. You must
2230
+ # provide either the service network identifier or the service
2231
+ # identifier.
2232
+ #
2233
+ # Every association in Amazon VPC Lattice is given a unique Amazon
2234
+ # Resource Name (ARN), such as when a service network is associated with
2235
+ # a VPC or when a service is associated with a service network. If the
2236
+ # association is for a resource that is shared with another account, the
2237
+ # association will include the local account ID as the prefix in the ARN
2238
+ # for each account the resource is shared with.
2239
+ #
2240
+ # @option params [Integer] :max_results
2241
+ # The maximum number of results to return.
2242
+ #
2243
+ # @option params [String] :next_token
2244
+ # A pagination token for the next page of results.
2245
+ #
2246
+ # @option params [String] :service_identifier
2247
+ # The ID or Amazon Resource Name (ARN) of the service.
2248
+ #
2249
+ # @option params [String] :service_network_identifier
2250
+ # The ID or Amazon Resource Name (ARN) of the service network.
2251
+ #
2252
+ # @return [Types::ListServiceNetworkServiceAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2253
+ #
2254
+ # * {Types::ListServiceNetworkServiceAssociationsResponse#items #items} => Array&lt;Types::ServiceNetworkServiceAssociationSummary&gt;
2255
+ # * {Types::ListServiceNetworkServiceAssociationsResponse#next_token #next_token} => String
2256
+ #
2257
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2258
+ #
2259
+ # @example Request syntax with placeholder values
2260
+ #
2261
+ # resp = client.list_service_network_service_associations({
2262
+ # max_results: 1,
2263
+ # next_token: "NextToken",
2264
+ # service_identifier: "ServiceIdentifier",
2265
+ # service_network_identifier: "ServiceNetworkIdentifier",
2266
+ # })
2267
+ #
2268
+ # @example Response structure
2269
+ #
2270
+ # resp.items #=> Array
2271
+ # resp.items[0].arn #=> String
2272
+ # resp.items[0].created_at #=> Time
2273
+ # resp.items[0].created_by #=> String
2274
+ # resp.items[0].custom_domain_name #=> String
2275
+ # resp.items[0].dns_entry.domain_name #=> String
2276
+ # resp.items[0].dns_entry.hosted_zone_id #=> String
2277
+ # resp.items[0].id #=> String
2278
+ # resp.items[0].service_arn #=> String
2279
+ # resp.items[0].service_id #=> String
2280
+ # resp.items[0].service_name #=> String
2281
+ # resp.items[0].service_network_arn #=> String
2282
+ # resp.items[0].service_network_id #=> String
2283
+ # resp.items[0].service_network_name #=> String
2284
+ # resp.items[0].status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
2285
+ # resp.next_token #=> String
2286
+ #
2287
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/ListServiceNetworkServiceAssociations AWS API Documentation
2288
+ #
2289
+ # @overload list_service_network_service_associations(params = {})
2290
+ # @param [Hash] params ({})
2291
+ def list_service_network_service_associations(params = {}, options = {})
2292
+ req = build_request(:list_service_network_service_associations, params)
2293
+ req.send_request(options)
2294
+ end
2295
+
2296
+ # Lists the service network and VPC associations. You can filter the
2297
+ # list either by VPC or service network. You must provide either the
2298
+ # service network identifier or the VPC identifier.
2299
+ #
2300
+ # @option params [Integer] :max_results
2301
+ # The maximum number of results to return.
2302
+ #
2303
+ # @option params [String] :next_token
2304
+ # A pagination token for the next page of results.
2305
+ #
2306
+ # @option params [String] :service_network_identifier
2307
+ # The ID or Amazon Resource Name (ARN) of the service network.
2308
+ #
2309
+ # @option params [String] :vpc_identifier
2310
+ # The ID or Amazon Resource Name (ARN) of the VPC.
2311
+ #
2312
+ # @return [Types::ListServiceNetworkVpcAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2313
+ #
2314
+ # * {Types::ListServiceNetworkVpcAssociationsResponse#items #items} => Array&lt;Types::ServiceNetworkVpcAssociationSummary&gt;
2315
+ # * {Types::ListServiceNetworkVpcAssociationsResponse#next_token #next_token} => String
2316
+ #
2317
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2318
+ #
2319
+ # @example Request syntax with placeholder values
2320
+ #
2321
+ # resp = client.list_service_network_vpc_associations({
2322
+ # max_results: 1,
2323
+ # next_token: "NextToken",
2324
+ # service_network_identifier: "ServiceNetworkIdentifier",
2325
+ # vpc_identifier: "VpcId",
2326
+ # })
2327
+ #
2328
+ # @example Response structure
2329
+ #
2330
+ # resp.items #=> Array
2331
+ # resp.items[0].arn #=> String
2332
+ # resp.items[0].created_at #=> Time
2333
+ # resp.items[0].created_by #=> String
2334
+ # resp.items[0].id #=> String
2335
+ # resp.items[0].last_updated_at #=> Time
2336
+ # resp.items[0].service_network_arn #=> String
2337
+ # resp.items[0].service_network_id #=> String
2338
+ # resp.items[0].service_network_name #=> String
2339
+ # resp.items[0].status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED", "UPDATE_FAILED"
2340
+ # resp.items[0].vpc_id #=> String
2341
+ # resp.next_token #=> String
2342
+ #
2343
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/ListServiceNetworkVpcAssociations AWS API Documentation
2344
+ #
2345
+ # @overload list_service_network_vpc_associations(params = {})
2346
+ # @param [Hash] params ({})
2347
+ def list_service_network_vpc_associations(params = {}, options = {})
2348
+ req = build_request(:list_service_network_vpc_associations, params)
2349
+ req.send_request(options)
2350
+ end
2351
+
2352
+ # Lists the service networks owned by the caller account or shared with
2353
+ # the caller account. Also includes the account ID in the ARN to show
2354
+ # which account owns the service network.
2355
+ #
2356
+ # @option params [Integer] :max_results
2357
+ # The maximum number of results to return.
2358
+ #
2359
+ # @option params [String] :next_token
2360
+ # A pagination token for the next page of results.
2361
+ #
2362
+ # @return [Types::ListServiceNetworksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2363
+ #
2364
+ # * {Types::ListServiceNetworksResponse#items #items} => Array&lt;Types::ServiceNetworkSummary&gt;
2365
+ # * {Types::ListServiceNetworksResponse#next_token #next_token} => String
2366
+ #
2367
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2368
+ #
2369
+ # @example Request syntax with placeholder values
2370
+ #
2371
+ # resp = client.list_service_networks({
2372
+ # max_results: 1,
2373
+ # next_token: "NextToken",
2374
+ # })
2375
+ #
2376
+ # @example Response structure
2377
+ #
2378
+ # resp.items #=> Array
2379
+ # resp.items[0].arn #=> String
2380
+ # resp.items[0].created_at #=> Time
2381
+ # resp.items[0].id #=> String
2382
+ # resp.items[0].last_updated_at #=> Time
2383
+ # resp.items[0].name #=> String
2384
+ # resp.items[0].number_of_associated_services #=> Integer
2385
+ # resp.items[0].number_of_associated_vp_cs #=> Integer
2386
+ # resp.next_token #=> String
2387
+ #
2388
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/ListServiceNetworks AWS API Documentation
2389
+ #
2390
+ # @overload list_service_networks(params = {})
2391
+ # @param [Hash] params ({})
2392
+ def list_service_networks(params = {}, options = {})
2393
+ req = build_request(:list_service_networks, params)
2394
+ req.send_request(options)
2395
+ end
2396
+
2397
+ # Lists the services owned by the caller account or shared with the
2398
+ # caller account.
2399
+ #
2400
+ # @option params [Integer] :max_results
2401
+ # The maximum number of results to return.
2402
+ #
2403
+ # @option params [String] :next_token
2404
+ # A pagination token for the next page of results.
2405
+ #
2406
+ # @return [Types::ListServicesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2407
+ #
2408
+ # * {Types::ListServicesResponse#items #items} => Array&lt;Types::ServiceSummary&gt;
2409
+ # * {Types::ListServicesResponse#next_token #next_token} => String
2410
+ #
2411
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2412
+ #
2413
+ # @example Request syntax with placeholder values
2414
+ #
2415
+ # resp = client.list_services({
2416
+ # max_results: 1,
2417
+ # next_token: "NextToken",
2418
+ # })
2419
+ #
2420
+ # @example Response structure
2421
+ #
2422
+ # resp.items #=> Array
2423
+ # resp.items[0].arn #=> String
2424
+ # resp.items[0].created_at #=> Time
2425
+ # resp.items[0].custom_domain_name #=> String
2426
+ # resp.items[0].dns_entry.domain_name #=> String
2427
+ # resp.items[0].dns_entry.hosted_zone_id #=> String
2428
+ # resp.items[0].id #=> String
2429
+ # resp.items[0].last_updated_at #=> Time
2430
+ # resp.items[0].name #=> String
2431
+ # resp.items[0].status #=> String, one of "ACTIVE", "CREATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
2432
+ # resp.next_token #=> String
2433
+ #
2434
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/ListServices AWS API Documentation
2435
+ #
2436
+ # @overload list_services(params = {})
2437
+ # @param [Hash] params ({})
2438
+ def list_services(params = {}, options = {})
2439
+ req = build_request(:list_services, params)
2440
+ req.send_request(options)
2441
+ end
2442
+
2443
+ # Lists the tags for the specified resource.
2444
+ #
2445
+ # @option params [required, String] :resource_arn
2446
+ # The Amazon Resource Name (ARN) of the resource.
2447
+ #
2448
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2449
+ #
2450
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
2451
+ #
2452
+ # @example Request syntax with placeholder values
2453
+ #
2454
+ # resp = client.list_tags_for_resource({
2455
+ # resource_arn: "Arn", # required
2456
+ # })
2457
+ #
2458
+ # @example Response structure
2459
+ #
2460
+ # resp.tags #=> Hash
2461
+ # resp.tags["TagKey"] #=> String
2462
+ #
2463
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/ListTagsForResource AWS API Documentation
2464
+ #
2465
+ # @overload list_tags_for_resource(params = {})
2466
+ # @param [Hash] params ({})
2467
+ def list_tags_for_resource(params = {}, options = {})
2468
+ req = build_request(:list_tags_for_resource, params)
2469
+ req.send_request(options)
2470
+ end
2471
+
2472
+ # Lists your target groups. You can narrow your search by using the
2473
+ # filters below in your request.
2474
+ #
2475
+ # @option params [Integer] :max_results
2476
+ # The maximum number of results to return.
2477
+ #
2478
+ # @option params [String] :next_token
2479
+ # A pagination token for the next page of results.
2480
+ #
2481
+ # @option params [String] :target_group_type
2482
+ # The target group type.
2483
+ #
2484
+ # @option params [String] :vpc_identifier
2485
+ # The ID or Amazon Resource Name (ARN) of the service.
2486
+ #
2487
+ # @return [Types::ListTargetGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2488
+ #
2489
+ # * {Types::ListTargetGroupsResponse#items #items} => Array&lt;Types::TargetGroupSummary&gt;
2490
+ # * {Types::ListTargetGroupsResponse#next_token #next_token} => String
2491
+ #
2492
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2493
+ #
2494
+ # @example Request syntax with placeholder values
2495
+ #
2496
+ # resp = client.list_target_groups({
2497
+ # max_results: 1,
2498
+ # next_token: "NextToken",
2499
+ # target_group_type: "IP", # accepts IP, LAMBDA, INSTANCE, ALB
2500
+ # vpc_identifier: "VpcId",
2501
+ # })
2502
+ #
2503
+ # @example Response structure
2504
+ #
2505
+ # resp.items #=> Array
2506
+ # resp.items[0].arn #=> String
2507
+ # resp.items[0].created_at #=> Time
2508
+ # resp.items[0].id #=> String
2509
+ # resp.items[0].ip_address_type #=> String, one of "IPV4", "IPV6"
2510
+ # resp.items[0].last_updated_at #=> Time
2511
+ # resp.items[0].name #=> String
2512
+ # resp.items[0].port #=> Integer
2513
+ # resp.items[0].protocol #=> String, one of "HTTP", "HTTPS"
2514
+ # resp.items[0].service_arns #=> Array
2515
+ # resp.items[0].service_arns[0] #=> String
2516
+ # resp.items[0].status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
2517
+ # resp.items[0].type #=> String, one of "IP", "LAMBDA", "INSTANCE", "ALB"
2518
+ # resp.items[0].vpc_identifier #=> String
2519
+ # resp.next_token #=> String
2520
+ #
2521
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/ListTargetGroups AWS API Documentation
2522
+ #
2523
+ # @overload list_target_groups(params = {})
2524
+ # @param [Hash] params ({})
2525
+ def list_target_groups(params = {}, options = {})
2526
+ req = build_request(:list_target_groups, params)
2527
+ req.send_request(options)
2528
+ end
2529
+
2530
+ # Lists the targets for the target group. By default, all targets are
2531
+ # included. You can use this API to check the health status of targets.
2532
+ # You can also filter the results by target.
2533
+ #
2534
+ # @option params [Integer] :max_results
2535
+ # The maximum number of results to return.
2536
+ #
2537
+ # @option params [String] :next_token
2538
+ # A pagination token for the next page of results.
2539
+ #
2540
+ # @option params [required, String] :target_group_identifier
2541
+ # The ID or Amazon Resource Name (ARN) of the target group.
2542
+ #
2543
+ # @option params [Array<Types::Target>] :targets
2544
+ # The targets to list.
2545
+ #
2546
+ # @return [Types::ListTargetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2547
+ #
2548
+ # * {Types::ListTargetsResponse#items #items} => Array&lt;Types::TargetSummary&gt;
2549
+ # * {Types::ListTargetsResponse#next_token #next_token} => String
2550
+ #
2551
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2552
+ #
2553
+ # @example Request syntax with placeholder values
2554
+ #
2555
+ # resp = client.list_targets({
2556
+ # max_results: 1,
2557
+ # next_token: "NextToken",
2558
+ # target_group_identifier: "TargetGroupIdentifier", # required
2559
+ # targets: [
2560
+ # {
2561
+ # id: "TargetIdString", # required
2562
+ # port: 1,
2563
+ # },
2564
+ # ],
2565
+ # })
2566
+ #
2567
+ # @example Response structure
2568
+ #
2569
+ # resp.items #=> Array
2570
+ # resp.items[0].id #=> String
2571
+ # resp.items[0].port #=> Integer
2572
+ # resp.items[0].reason_code #=> String
2573
+ # resp.items[0].status #=> String, one of "DRAINING", "UNAVAILABLE", "HEALTHY", "UNHEALTHY", "INITIAL", "UNUSED"
2574
+ # resp.next_token #=> String
2575
+ #
2576
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/ListTargets AWS API Documentation
2577
+ #
2578
+ # @overload list_targets(params = {})
2579
+ # @param [Hash] params ({})
2580
+ def list_targets(params = {}, options = {})
2581
+ req = build_request(:list_targets, params)
2582
+ req.send_request(options)
2583
+ end
2584
+
2585
+ # Creates or updates the auth policy.
2586
+ #
2587
+ # @option params [required, String] :policy
2588
+ # The auth policy.
2589
+ #
2590
+ # @option params [required, String] :resource_identifier
2591
+ # The ID or Amazon Resource Name (ARN) of the service network or service
2592
+ # for which the policy is created.
2593
+ #
2594
+ # @return [Types::PutAuthPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2595
+ #
2596
+ # * {Types::PutAuthPolicyResponse#policy #policy} => String
2597
+ # * {Types::PutAuthPolicyResponse#state #state} => String
2598
+ #
2599
+ # @example Request syntax with placeholder values
2600
+ #
2601
+ # resp = client.put_auth_policy({
2602
+ # policy: "AuthPolicyString", # required
2603
+ # resource_identifier: "ResourceIdentifier", # required
2604
+ # })
2605
+ #
2606
+ # @example Response structure
2607
+ #
2608
+ # resp.policy #=> String
2609
+ # resp.state #=> String, one of "Active", "Inactive"
2610
+ #
2611
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/PutAuthPolicy AWS API Documentation
2612
+ #
2613
+ # @overload put_auth_policy(params = {})
2614
+ # @param [Hash] params ({})
2615
+ def put_auth_policy(params = {}, options = {})
2616
+ req = build_request(:put_auth_policy, params)
2617
+ req.send_request(options)
2618
+ end
2619
+
2620
+ # Attaches a resource-based permission policy to a service or service
2621
+ # network. The policy must contain the same actions and condition
2622
+ # statements as the Amazon Web Services Resource Access Manager
2623
+ # permission for sharing services and service networks.
2624
+ #
2625
+ # @option params [required, String] :policy
2626
+ # An IAM policy.
2627
+ #
2628
+ # @option params [required, String] :resource_arn
2629
+ # The ID or Amazon Resource Name (ARN) of the service network or service
2630
+ # for which the policy is created.
2631
+ #
2632
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2633
+ #
2634
+ # @example Request syntax with placeholder values
2635
+ #
2636
+ # resp = client.put_resource_policy({
2637
+ # policy: "PolicyString", # required
2638
+ # resource_arn: "ResourceArn", # required
2639
+ # })
2640
+ #
2641
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/PutResourcePolicy AWS API Documentation
2642
+ #
2643
+ # @overload put_resource_policy(params = {})
2644
+ # @param [Hash] params ({})
2645
+ def put_resource_policy(params = {}, options = {})
2646
+ req = build_request(:put_resource_policy, params)
2647
+ req.send_request(options)
2648
+ end
2649
+
2650
+ # Registers the targets with the target group. If it's a Lambda target,
2651
+ # you can only have one target in a target group.
2652
+ #
2653
+ # @option params [required, String] :target_group_identifier
2654
+ # The ID or Amazon Resource Name (ARN) of the target group.
2655
+ #
2656
+ # @option params [required, Array<Types::Target>] :targets
2657
+ # The targets.
2658
+ #
2659
+ # @return [Types::RegisterTargetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2660
+ #
2661
+ # * {Types::RegisterTargetsResponse#successful #successful} => Array&lt;Types::Target&gt;
2662
+ # * {Types::RegisterTargetsResponse#unsuccessful #unsuccessful} => Array&lt;Types::TargetFailure&gt;
2663
+ #
2664
+ # @example Request syntax with placeholder values
2665
+ #
2666
+ # resp = client.register_targets({
2667
+ # target_group_identifier: "TargetGroupIdentifier", # required
2668
+ # targets: [ # required
2669
+ # {
2670
+ # id: "TargetIdString", # required
2671
+ # port: 1,
2672
+ # },
2673
+ # ],
2674
+ # })
2675
+ #
2676
+ # @example Response structure
2677
+ #
2678
+ # resp.successful #=> Array
2679
+ # resp.successful[0].id #=> String
2680
+ # resp.successful[0].port #=> Integer
2681
+ # resp.unsuccessful #=> Array
2682
+ # resp.unsuccessful[0].failure_code #=> String
2683
+ # resp.unsuccessful[0].failure_message #=> String
2684
+ # resp.unsuccessful[0].id #=> String
2685
+ # resp.unsuccessful[0].port #=> Integer
2686
+ #
2687
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/RegisterTargets AWS API Documentation
2688
+ #
2689
+ # @overload register_targets(params = {})
2690
+ # @param [Hash] params ({})
2691
+ def register_targets(params = {}, options = {})
2692
+ req = build_request(:register_targets, params)
2693
+ req.send_request(options)
2694
+ end
2695
+
2696
+ # Adds the specified tags to the specified resource.
2697
+ #
2698
+ # @option params [required, String] :resource_arn
2699
+ # The Amazon Resource Name (ARN) of the resource.
2700
+ #
2701
+ # @option params [required, Hash<String,String>] :tags
2702
+ # The tags for the resource.
2703
+ #
2704
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2705
+ #
2706
+ # @example Request syntax with placeholder values
2707
+ #
2708
+ # resp = client.tag_resource({
2709
+ # resource_arn: "Arn", # required
2710
+ # tags: { # required
2711
+ # "TagKey" => "TagValue",
2712
+ # },
2713
+ # })
2714
+ #
2715
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/TagResource AWS API Documentation
2716
+ #
2717
+ # @overload tag_resource(params = {})
2718
+ # @param [Hash] params ({})
2719
+ def tag_resource(params = {}, options = {})
2720
+ req = build_request(:tag_resource, params)
2721
+ req.send_request(options)
2722
+ end
2723
+
2724
+ # Removes the specified tags from the specified resource.
2725
+ #
2726
+ # @option params [required, String] :resource_arn
2727
+ # The Amazon Resource Name (ARN) of the resource.
2728
+ #
2729
+ # @option params [required, Array<String>] :tag_keys
2730
+ # The tag keys of the tags to remove.
2731
+ #
2732
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2733
+ #
2734
+ # @example Request syntax with placeholder values
2735
+ #
2736
+ # resp = client.untag_resource({
2737
+ # resource_arn: "Arn", # required
2738
+ # tag_keys: ["TagKey"], # required
2739
+ # })
2740
+ #
2741
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/UntagResource AWS API Documentation
2742
+ #
2743
+ # @overload untag_resource(params = {})
2744
+ # @param [Hash] params ({})
2745
+ def untag_resource(params = {}, options = {})
2746
+ req = build_request(:untag_resource, params)
2747
+ req.send_request(options)
2748
+ end
2749
+
2750
+ # Updates the specified access log subscription.
2751
+ #
2752
+ # @option params [required, String] :access_log_subscription_identifier
2753
+ # The ID or Amazon Resource Name (ARN) of the access log subscription.
2754
+ #
2755
+ # @option params [required, String] :destination_arn
2756
+ # The Amazon Resource Name (ARN) of the access log destination.
2757
+ #
2758
+ # @return [Types::UpdateAccessLogSubscriptionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2759
+ #
2760
+ # * {Types::UpdateAccessLogSubscriptionResponse#arn #arn} => String
2761
+ # * {Types::UpdateAccessLogSubscriptionResponse#destination_arn #destination_arn} => String
2762
+ # * {Types::UpdateAccessLogSubscriptionResponse#id #id} => String
2763
+ # * {Types::UpdateAccessLogSubscriptionResponse#resource_arn #resource_arn} => String
2764
+ # * {Types::UpdateAccessLogSubscriptionResponse#resource_id #resource_id} => String
2765
+ #
2766
+ # @example Request syntax with placeholder values
2767
+ #
2768
+ # resp = client.update_access_log_subscription({
2769
+ # access_log_subscription_identifier: "AccessLogSubscriptionIdentifier", # required
2770
+ # destination_arn: "AccessLogDestinationArn", # required
2771
+ # })
2772
+ #
2773
+ # @example Response structure
2774
+ #
2775
+ # resp.arn #=> String
2776
+ # resp.destination_arn #=> String
2777
+ # resp.id #=> String
2778
+ # resp.resource_arn #=> String
2779
+ # resp.resource_id #=> String
2780
+ #
2781
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/UpdateAccessLogSubscription AWS API Documentation
2782
+ #
2783
+ # @overload update_access_log_subscription(params = {})
2784
+ # @param [Hash] params ({})
2785
+ def update_access_log_subscription(params = {}, options = {})
2786
+ req = build_request(:update_access_log_subscription, params)
2787
+ req.send_request(options)
2788
+ end
2789
+
2790
+ # Updates the specified listener for the specified service.
2791
+ #
2792
+ # @option params [required, Types::RuleAction] :default_action
2793
+ # The action for the default rule.
2794
+ #
2795
+ # @option params [required, String] :listener_identifier
2796
+ # The ID or Amazon Resource Name (ARN) of the listener.
2797
+ #
2798
+ # @option params [required, String] :service_identifier
2799
+ # The ID or Amazon Resource Name (ARN) of the service.
2800
+ #
2801
+ # @return [Types::UpdateListenerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2802
+ #
2803
+ # * {Types::UpdateListenerResponse#arn #arn} => String
2804
+ # * {Types::UpdateListenerResponse#default_action #default_action} => Types::RuleAction
2805
+ # * {Types::UpdateListenerResponse#id #id} => String
2806
+ # * {Types::UpdateListenerResponse#name #name} => String
2807
+ # * {Types::UpdateListenerResponse#port #port} => Integer
2808
+ # * {Types::UpdateListenerResponse#protocol #protocol} => String
2809
+ # * {Types::UpdateListenerResponse#service_arn #service_arn} => String
2810
+ # * {Types::UpdateListenerResponse#service_id #service_id} => String
2811
+ #
2812
+ # @example Request syntax with placeholder values
2813
+ #
2814
+ # resp = client.update_listener({
2815
+ # default_action: { # required
2816
+ # fixed_response: {
2817
+ # status_code: 1, # required
2818
+ # },
2819
+ # forward: {
2820
+ # target_groups: [ # required
2821
+ # {
2822
+ # target_group_identifier: "TargetGroupIdentifier", # required
2823
+ # weight: 1,
2824
+ # },
2825
+ # ],
2826
+ # },
2827
+ # },
2828
+ # listener_identifier: "ListenerIdentifier", # required
2829
+ # service_identifier: "ServiceIdentifier", # required
2830
+ # })
2831
+ #
2832
+ # @example Response structure
2833
+ #
2834
+ # resp.arn #=> String
2835
+ # resp.default_action.fixed_response.status_code #=> Integer
2836
+ # resp.default_action.forward.target_groups #=> Array
2837
+ # resp.default_action.forward.target_groups[0].target_group_identifier #=> String
2838
+ # resp.default_action.forward.target_groups[0].weight #=> Integer
2839
+ # resp.id #=> String
2840
+ # resp.name #=> String
2841
+ # resp.port #=> Integer
2842
+ # resp.protocol #=> String, one of "HTTP", "HTTPS"
2843
+ # resp.service_arn #=> String
2844
+ # resp.service_id #=> String
2845
+ #
2846
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/UpdateListener AWS API Documentation
2847
+ #
2848
+ # @overload update_listener(params = {})
2849
+ # @param [Hash] params ({})
2850
+ def update_listener(params = {}, options = {})
2851
+ req = build_request(:update_listener, params)
2852
+ req.send_request(options)
2853
+ end
2854
+
2855
+ # Updates a rule for the listener. You can't modify a default listener
2856
+ # rule. To modify a default listener rule, use `UpdateListener`.
2857
+ #
2858
+ # @option params [Types::RuleAction] :action
2859
+ # Information about the action for the specified listener rule.
2860
+ #
2861
+ # @option params [required, String] :listener_identifier
2862
+ # The ID or Amazon Resource Name (ARN) of the listener.
2863
+ #
2864
+ # @option params [Types::RuleMatch] :match
2865
+ # The rule match.
2866
+ #
2867
+ # @option params [Integer] :priority
2868
+ # The rule priority. A listener can't have multiple rules with the same
2869
+ # priority.
2870
+ #
2871
+ # @option params [required, String] :rule_identifier
2872
+ # The ID or Amazon Resource Name (ARN) of the rule.
2873
+ #
2874
+ # @option params [required, String] :service_identifier
2875
+ # The ID or Amazon Resource Name (ARN) of the service.
2876
+ #
2877
+ # @return [Types::UpdateRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2878
+ #
2879
+ # * {Types::UpdateRuleResponse#action #action} => Types::RuleAction
2880
+ # * {Types::UpdateRuleResponse#arn #arn} => String
2881
+ # * {Types::UpdateRuleResponse#id #id} => String
2882
+ # * {Types::UpdateRuleResponse#is_default #is_default} => Boolean
2883
+ # * {Types::UpdateRuleResponse#match #match} => Types::RuleMatch
2884
+ # * {Types::UpdateRuleResponse#name #name} => String
2885
+ # * {Types::UpdateRuleResponse#priority #priority} => Integer
2886
+ #
2887
+ # @example Request syntax with placeholder values
2888
+ #
2889
+ # resp = client.update_rule({
2890
+ # action: {
2891
+ # fixed_response: {
2892
+ # status_code: 1, # required
2893
+ # },
2894
+ # forward: {
2895
+ # target_groups: [ # required
2896
+ # {
2897
+ # target_group_identifier: "TargetGroupIdentifier", # required
2898
+ # weight: 1,
2899
+ # },
2900
+ # ],
2901
+ # },
2902
+ # },
2903
+ # listener_identifier: "ListenerIdentifier", # required
2904
+ # match: {
2905
+ # http_match: {
2906
+ # header_matches: [
2907
+ # {
2908
+ # case_sensitive: false,
2909
+ # match: { # required
2910
+ # contains: "HeaderMatchContains",
2911
+ # exact: "HeaderMatchExact",
2912
+ # prefix: "HeaderMatchPrefix",
2913
+ # },
2914
+ # name: "HeaderMatchName", # required
2915
+ # },
2916
+ # ],
2917
+ # method: "HttpMethod",
2918
+ # path_match: {
2919
+ # case_sensitive: false,
2920
+ # match: { # required
2921
+ # exact: "PathMatchExact",
2922
+ # prefix: "PathMatchPrefix",
2923
+ # },
2924
+ # },
2925
+ # },
2926
+ # },
2927
+ # priority: 1,
2928
+ # rule_identifier: "RuleIdentifier", # required
2929
+ # service_identifier: "ServiceIdentifier", # required
2930
+ # })
2931
+ #
2932
+ # @example Response structure
2933
+ #
2934
+ # resp.action.fixed_response.status_code #=> Integer
2935
+ # resp.action.forward.target_groups #=> Array
2936
+ # resp.action.forward.target_groups[0].target_group_identifier #=> String
2937
+ # resp.action.forward.target_groups[0].weight #=> Integer
2938
+ # resp.arn #=> String
2939
+ # resp.id #=> String
2940
+ # resp.is_default #=> Boolean
2941
+ # resp.match.http_match.header_matches #=> Array
2942
+ # resp.match.http_match.header_matches[0].case_sensitive #=> Boolean
2943
+ # resp.match.http_match.header_matches[0].match.contains #=> String
2944
+ # resp.match.http_match.header_matches[0].match.exact #=> String
2945
+ # resp.match.http_match.header_matches[0].match.prefix #=> String
2946
+ # resp.match.http_match.header_matches[0].name #=> String
2947
+ # resp.match.http_match.method #=> String
2948
+ # resp.match.http_match.path_match.case_sensitive #=> Boolean
2949
+ # resp.match.http_match.path_match.match.exact #=> String
2950
+ # resp.match.http_match.path_match.match.prefix #=> String
2951
+ # resp.name #=> String
2952
+ # resp.priority #=> Integer
2953
+ #
2954
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/UpdateRule AWS API Documentation
2955
+ #
2956
+ # @overload update_rule(params = {})
2957
+ # @param [Hash] params ({})
2958
+ def update_rule(params = {}, options = {})
2959
+ req = build_request(:update_rule, params)
2960
+ req.send_request(options)
2961
+ end
2962
+
2963
+ # Updates the specified service.
2964
+ #
2965
+ # @option params [String] :auth_type
2966
+ # The type of IAM policy.
2967
+ #
2968
+ # * `NONE`: The resource does not use an IAM policy. This is the
2969
+ # default.
2970
+ #
2971
+ # * `AWS_IAM`: The resource uses an IAM policy. When this type is used,
2972
+ # auth is enabled and an auth policy is required.
2973
+ #
2974
+ # @option params [String] :certificate_arn
2975
+ # The Amazon Resource Name (ARN) of the certificate.
2976
+ #
2977
+ # @option params [required, String] :service_identifier
2978
+ # The ID or Amazon Resource Name (ARN) of the service.
2979
+ #
2980
+ # @return [Types::UpdateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2981
+ #
2982
+ # * {Types::UpdateServiceResponse#arn #arn} => String
2983
+ # * {Types::UpdateServiceResponse#auth_type #auth_type} => String
2984
+ # * {Types::UpdateServiceResponse#certificate_arn #certificate_arn} => String
2985
+ # * {Types::UpdateServiceResponse#custom_domain_name #custom_domain_name} => String
2986
+ # * {Types::UpdateServiceResponse#id #id} => String
2987
+ # * {Types::UpdateServiceResponse#name #name} => String
2988
+ #
2989
+ # @example Request syntax with placeholder values
2990
+ #
2991
+ # resp = client.update_service({
2992
+ # auth_type: "NONE", # accepts NONE, AWS_IAM
2993
+ # certificate_arn: "CertificateArn",
2994
+ # service_identifier: "ServiceIdentifier", # required
2995
+ # })
2996
+ #
2997
+ # @example Response structure
2998
+ #
2999
+ # resp.arn #=> String
3000
+ # resp.auth_type #=> String, one of "NONE", "AWS_IAM"
3001
+ # resp.certificate_arn #=> String
3002
+ # resp.custom_domain_name #=> String
3003
+ # resp.id #=> String
3004
+ # resp.name #=> String
3005
+ #
3006
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/UpdateService AWS API Documentation
3007
+ #
3008
+ # @overload update_service(params = {})
3009
+ # @param [Hash] params ({})
3010
+ def update_service(params = {}, options = {})
3011
+ req = build_request(:update_service, params)
3012
+ req.send_request(options)
3013
+ end
3014
+
3015
+ # Updates the specified service network.
3016
+ #
3017
+ # @option params [required, String] :auth_type
3018
+ # The type of IAM policy.
3019
+ #
3020
+ # * `NONE`: The resource does not use an IAM policy. This is the
3021
+ # default.
3022
+ #
3023
+ # * `AWS_IAM`: The resource uses an IAM policy. When this type is used,
3024
+ # auth is enabled and an auth policy is required.
3025
+ #
3026
+ # @option params [required, String] :service_network_identifier
3027
+ # The ID or Amazon Resource Name (ARN) of the service network.
3028
+ #
3029
+ # @return [Types::UpdateServiceNetworkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3030
+ #
3031
+ # * {Types::UpdateServiceNetworkResponse#arn #arn} => String
3032
+ # * {Types::UpdateServiceNetworkResponse#auth_type #auth_type} => String
3033
+ # * {Types::UpdateServiceNetworkResponse#id #id} => String
3034
+ # * {Types::UpdateServiceNetworkResponse#name #name} => String
3035
+ #
3036
+ # @example Request syntax with placeholder values
3037
+ #
3038
+ # resp = client.update_service_network({
3039
+ # auth_type: "NONE", # required, accepts NONE, AWS_IAM
3040
+ # service_network_identifier: "ServiceNetworkIdentifier", # required
3041
+ # })
3042
+ #
3043
+ # @example Response structure
3044
+ #
3045
+ # resp.arn #=> String
3046
+ # resp.auth_type #=> String, one of "NONE", "AWS_IAM"
3047
+ # resp.id #=> String
3048
+ # resp.name #=> String
3049
+ #
3050
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/UpdateServiceNetwork AWS API Documentation
3051
+ #
3052
+ # @overload update_service_network(params = {})
3053
+ # @param [Hash] params ({})
3054
+ def update_service_network(params = {}, options = {})
3055
+ req = build_request(:update_service_network, params)
3056
+ req.send_request(options)
3057
+ end
3058
+
3059
+ # Updates the service network and VPC association. Once you add a
3060
+ # security group, it cannot be removed.
3061
+ #
3062
+ # @option params [required, Array<String>] :security_group_ids
3063
+ # The IDs of the security groups. Once you add a security group, it
3064
+ # cannot be removed.
3065
+ #
3066
+ # @option params [required, String] :service_network_vpc_association_identifier
3067
+ # The ID or Amazon Resource Name (ARN) of the association.
3068
+ #
3069
+ # @return [Types::UpdateServiceNetworkVpcAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3070
+ #
3071
+ # * {Types::UpdateServiceNetworkVpcAssociationResponse#arn #arn} => String
3072
+ # * {Types::UpdateServiceNetworkVpcAssociationResponse#created_by #created_by} => String
3073
+ # * {Types::UpdateServiceNetworkVpcAssociationResponse#id #id} => String
3074
+ # * {Types::UpdateServiceNetworkVpcAssociationResponse#security_group_ids #security_group_ids} => Array&lt;String&gt;
3075
+ # * {Types::UpdateServiceNetworkVpcAssociationResponse#status #status} => String
3076
+ #
3077
+ # @example Request syntax with placeholder values
3078
+ #
3079
+ # resp = client.update_service_network_vpc_association({
3080
+ # security_group_ids: ["SecurityGroupId"], # required
3081
+ # service_network_vpc_association_identifier: "ServiceNetworkVpcAssociationIdentifier", # required
3082
+ # })
3083
+ #
3084
+ # @example Response structure
3085
+ #
3086
+ # resp.arn #=> String
3087
+ # resp.created_by #=> String
3088
+ # resp.id #=> String
3089
+ # resp.security_group_ids #=> Array
3090
+ # resp.security_group_ids[0] #=> String
3091
+ # resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED", "UPDATE_FAILED"
3092
+ #
3093
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/UpdateServiceNetworkVpcAssociation AWS API Documentation
3094
+ #
3095
+ # @overload update_service_network_vpc_association(params = {})
3096
+ # @param [Hash] params ({})
3097
+ def update_service_network_vpc_association(params = {}, options = {})
3098
+ req = build_request(:update_service_network_vpc_association, params)
3099
+ req.send_request(options)
3100
+ end
3101
+
3102
+ # Updates the specified target group.
3103
+ #
3104
+ # @option params [required, Types::HealthCheckConfig] :health_check
3105
+ # The health check configuration.
3106
+ #
3107
+ # @option params [required, String] :target_group_identifier
3108
+ # The ID or Amazon Resource Name (ARN) of the target group.
3109
+ #
3110
+ # @return [Types::UpdateTargetGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3111
+ #
3112
+ # * {Types::UpdateTargetGroupResponse#arn #arn} => String
3113
+ # * {Types::UpdateTargetGroupResponse#config #config} => Types::TargetGroupConfig
3114
+ # * {Types::UpdateTargetGroupResponse#id #id} => String
3115
+ # * {Types::UpdateTargetGroupResponse#name #name} => String
3116
+ # * {Types::UpdateTargetGroupResponse#status #status} => String
3117
+ # * {Types::UpdateTargetGroupResponse#type #type} => String
3118
+ #
3119
+ # @example Request syntax with placeholder values
3120
+ #
3121
+ # resp = client.update_target_group({
3122
+ # health_check: { # required
3123
+ # enabled: false,
3124
+ # health_check_interval_seconds: 1,
3125
+ # health_check_timeout_seconds: 1,
3126
+ # healthy_threshold_count: 1,
3127
+ # matcher: {
3128
+ # http_code: "HttpCodeMatcher",
3129
+ # },
3130
+ # path: "HealthCheckPath",
3131
+ # port: 1,
3132
+ # protocol: "HTTP", # accepts HTTP, HTTPS
3133
+ # protocol_version: "HTTP1", # accepts HTTP1, HTTP2
3134
+ # unhealthy_threshold_count: 1,
3135
+ # },
3136
+ # target_group_identifier: "TargetGroupIdentifier", # required
3137
+ # })
3138
+ #
3139
+ # @example Response structure
3140
+ #
3141
+ # resp.arn #=> String
3142
+ # resp.config.health_check.enabled #=> Boolean
3143
+ # resp.config.health_check.health_check_interval_seconds #=> Integer
3144
+ # resp.config.health_check.health_check_timeout_seconds #=> Integer
3145
+ # resp.config.health_check.healthy_threshold_count #=> Integer
3146
+ # resp.config.health_check.matcher.http_code #=> String
3147
+ # resp.config.health_check.path #=> String
3148
+ # resp.config.health_check.port #=> Integer
3149
+ # resp.config.health_check.protocol #=> String, one of "HTTP", "HTTPS"
3150
+ # resp.config.health_check.protocol_version #=> String, one of "HTTP1", "HTTP2"
3151
+ # resp.config.health_check.unhealthy_threshold_count #=> Integer
3152
+ # resp.config.ip_address_type #=> String, one of "IPV4", "IPV6"
3153
+ # resp.config.port #=> Integer
3154
+ # resp.config.protocol #=> String, one of "HTTP", "HTTPS"
3155
+ # resp.config.protocol_version #=> String, one of "HTTP1", "HTTP2", "GRPC"
3156
+ # resp.config.vpc_identifier #=> String
3157
+ # resp.id #=> String
3158
+ # resp.name #=> String
3159
+ # resp.status #=> String, one of "CREATE_IN_PROGRESS", "ACTIVE", "DELETE_IN_PROGRESS", "CREATE_FAILED", "DELETE_FAILED"
3160
+ # resp.type #=> String, one of "IP", "LAMBDA", "INSTANCE", "ALB"
3161
+ #
3162
+ # @see http://docs.aws.amazon.com/goto/WebAPI/vpc-lattice-2022-11-30/UpdateTargetGroup AWS API Documentation
3163
+ #
3164
+ # @overload update_target_group(params = {})
3165
+ # @param [Hash] params ({})
3166
+ def update_target_group(params = {}, options = {})
3167
+ req = build_request(:update_target_group, params)
3168
+ req.send_request(options)
3169
+ end
3170
+
3171
+ # @!endgroup
3172
+
3173
+ # @param params ({})
3174
+ # @api private
3175
+ def build_request(operation_name, params = {})
3176
+ handlers = @handlers.for(operation_name)
3177
+ context = Seahorse::Client::RequestContext.new(
3178
+ operation_name: operation_name,
3179
+ operation: config.api.operation(operation_name),
3180
+ client: self,
3181
+ params: params,
3182
+ config: config)
3183
+ context[:gem_name] = 'aws-sdk-vpclattice'
3184
+ context[:gem_version] = '1.0.0'
3185
+ Seahorse::Client::Request.new(handlers, context)
3186
+ end
3187
+
3188
+ # @api private
3189
+ # @deprecated
3190
+ def waiter_names
3191
+ []
3192
+ end
3193
+
3194
+ class << self
3195
+
3196
+ # @api private
3197
+ attr_reader :identifier
3198
+
3199
+ # @api private
3200
+ def errors_module
3201
+ Errors
3202
+ end
3203
+
3204
+ end
3205
+ end
3206
+ end