aws-sdk-vpclattice 1.0.0

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