aws-sdk-networkmanager 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,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 97b497395819528591bf22739696f32b75eed862
4
+ data.tar.gz: 1fc9ac4856df45adcb6a6ff7798a8891af5c0c60
5
+ SHA512:
6
+ metadata.gz: edabe7c72debfbebb3d69e9914cdae84632063faeabd530f03f81b9b149e436a20335d23db1497d70ba86eb7d11a0b73c36d8bb5c82101778bbca6fdd7744375
7
+ data.tar.gz: 8c3c1aa87ffa2117a3d5b2c1b3f0d8e9053dc22e6597bf83ec435b2df08afa92f58588df790966841279d384459fc0a083f6a5e2fef6877e1f54605c7395a72d
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-networkmanager/types'
12
+ require_relative 'aws-sdk-networkmanager/client_api'
13
+ require_relative 'aws-sdk-networkmanager/client'
14
+ require_relative 'aws-sdk-networkmanager/errors'
15
+ require_relative 'aws-sdk-networkmanager/resource'
16
+ require_relative 'aws-sdk-networkmanager/customizations'
17
+
18
+ # This module provides support for AWS Network Manager. This module is available in the
19
+ # `aws-sdk-networkmanager` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from AWS Network Manager all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::NetworkManager::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::NetworkManager
44
+
45
+ GEM_VERSION = '1.0.0'
46
+
47
+ end
@@ -0,0 +1,1778 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
19
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
20
+ require 'aws-sdk-core/plugins/response_paging.rb'
21
+ require 'aws-sdk-core/plugins/stub_responses.rb'
22
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
23
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/signature_v4.rb'
28
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
29
+
30
+ Aws::Plugins::GlobalConfiguration.add_identifier(:networkmanager)
31
+
32
+ module Aws::NetworkManager
33
+ class Client < Seahorse::Client::Base
34
+
35
+ include Aws::ClientStubs
36
+
37
+ @identifier = :networkmanager
38
+
39
+ set_api(ClientApi::API)
40
+
41
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
42
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
43
+ add_plugin(Aws::Plugins::Logging)
44
+ add_plugin(Aws::Plugins::ParamConverter)
45
+ add_plugin(Aws::Plugins::ParamValidator)
46
+ add_plugin(Aws::Plugins::UserAgent)
47
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
48
+ add_plugin(Aws::Plugins::RetryErrors)
49
+ add_plugin(Aws::Plugins::GlobalConfiguration)
50
+ add_plugin(Aws::Plugins::RegionalEndpoint)
51
+ add_plugin(Aws::Plugins::EndpointDiscovery)
52
+ add_plugin(Aws::Plugins::EndpointPattern)
53
+ add_plugin(Aws::Plugins::ResponsePaging)
54
+ add_plugin(Aws::Plugins::StubResponses)
55
+ add_plugin(Aws::Plugins::IdempotencyToken)
56
+ add_plugin(Aws::Plugins::JsonvalueConverter)
57
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
58
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
59
+ add_plugin(Aws::Plugins::TransferEncoding)
60
+ add_plugin(Aws::Plugins::SignatureV4)
61
+ add_plugin(Aws::Plugins::Protocols::RestJson)
62
+
63
+ # @overload initialize(options)
64
+ # @param [Hash] options
65
+ # @option options [required, Aws::CredentialProvider] :credentials
66
+ # Your AWS credentials. This can be an instance of any one of the
67
+ # following classes:
68
+ #
69
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
70
+ # credentials.
71
+ #
72
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
73
+ # from an EC2 IMDS on an EC2 instance.
74
+ #
75
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
76
+ # shared file, such as `~/.aws/config`.
77
+ #
78
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
79
+ #
80
+ # When `:credentials` are not configured directly, the following
81
+ # locations will be searched for credentials:
82
+ #
83
+ # * `Aws.config[:credentials]`
84
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
85
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
86
+ # * `~/.aws/credentials`
87
+ # * `~/.aws/config`
88
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
89
+ # very aggressive. Construct and pass an instance of
90
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
91
+ # timeouts.
92
+ #
93
+ # @option options [required, String] :region
94
+ # The AWS region to connect to. The configured `:region` is
95
+ # used to determine the service `:endpoint`. When not passed,
96
+ # a default `:region` is search for in the following locations:
97
+ #
98
+ # * `Aws.config[:region]`
99
+ # * `ENV['AWS_REGION']`
100
+ # * `ENV['AMAZON_REGION']`
101
+ # * `ENV['AWS_DEFAULT_REGION']`
102
+ # * `~/.aws/credentials`
103
+ # * `~/.aws/config`
104
+ #
105
+ # @option options [String] :access_key_id
106
+ #
107
+ # @option options [Boolean] :active_endpoint_cache (false)
108
+ # When set to `true`, a thread polling for endpoints will be running in
109
+ # the background every 60 secs (default). Defaults to `false`.
110
+ #
111
+ # @option options [Boolean] :client_side_monitoring (false)
112
+ # When `true`, client-side metrics will be collected for all API requests from
113
+ # this client.
114
+ #
115
+ # @option options [String] :client_side_monitoring_client_id ("")
116
+ # Allows you to provide an identifier for this client which will be attached to
117
+ # all generated client side metrics. Defaults to an empty string.
118
+ #
119
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
120
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
121
+ # side monitoring agent is running on, where client metrics will be published via UDP.
122
+ #
123
+ # @option options [Integer] :client_side_monitoring_port (31000)
124
+ # Required for publishing client metrics. The port that the client side monitoring
125
+ # agent is running on, where client metrics will be published via UDP.
126
+ #
127
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
128
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
129
+ # will use the Client Side Monitoring Agent Publisher.
130
+ #
131
+ # @option options [Boolean] :convert_params (true)
132
+ # When `true`, an attempt is made to coerce request parameters into
133
+ # the required types.
134
+ #
135
+ # @option options [Boolean] :disable_host_prefix_injection (false)
136
+ # Set to true to disable SDK automatically adding host prefix
137
+ # to default service endpoint when available.
138
+ #
139
+ # @option options [String] :endpoint
140
+ # The client endpoint is normally constructed from the `:region`
141
+ # option. You should only configure an `:endpoint` when connecting
142
+ # to test endpoints. This should be avalid HTTP(S) URI.
143
+ #
144
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
145
+ # Used for the maximum size limit of the LRU cache storing endpoints data
146
+ # for endpoint discovery enabled operations. Defaults to 1000.
147
+ #
148
+ # @option options [Integer] :endpoint_cache_max_threads (10)
149
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
150
+ #
151
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
152
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
153
+ # Use this option to config the time interval in seconds for making
154
+ # requests fetching endpoints information. Defaults to 60 sec.
155
+ #
156
+ # @option options [Boolean] :endpoint_discovery (false)
157
+ # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
158
+ #
159
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
160
+ # The log formatter.
161
+ #
162
+ # @option options [Symbol] :log_level (:info)
163
+ # The log level to send messages to the `:logger` at.
164
+ #
165
+ # @option options [Logger] :logger
166
+ # The Logger instance to send log messages to. If this option
167
+ # is not set, logging will be disabled.
168
+ #
169
+ # @option options [String] :profile ("default")
170
+ # Used when loading credentials from the shared credentials file
171
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
172
+ #
173
+ # @option options [Float] :retry_base_delay (0.3)
174
+ # The base delay in seconds used by the default backoff function.
175
+ #
176
+ # @option options [Symbol] :retry_jitter (:none)
177
+ # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
178
+ #
179
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
180
+ #
181
+ # @option options [Integer] :retry_limit (3)
182
+ # The maximum number of times to retry failed requests. Only
183
+ # ~ 500 level server errors and certain ~ 400 level client errors
184
+ # are retried. Generally, these are throttling errors, data
185
+ # checksum errors, networking errors, timeout errors and auth
186
+ # errors from expired credentials.
187
+ #
188
+ # @option options [Integer] :retry_max_delay (0)
189
+ # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
190
+ #
191
+ # @option options [String] :secret_access_key
192
+ #
193
+ # @option options [String] :session_token
194
+ #
195
+ # @option options [Boolean] :stub_responses (false)
196
+ # Causes the client to return stubbed responses. By default
197
+ # fake responses are generated and returned. You can specify
198
+ # the response data to return or errors to raise by calling
199
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
200
+ #
201
+ # ** Please note ** When response stubbing is enabled, no HTTP
202
+ # requests are made, and retries are disabled.
203
+ #
204
+ # @option options [Boolean] :validate_params (true)
205
+ # When `true`, request parameters are validated before
206
+ # sending the request.
207
+ #
208
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
209
+ # requests through. Formatted like 'http://proxy.com:123'.
210
+ #
211
+ # @option options [Float] :http_open_timeout (15) The number of
212
+ # seconds to wait when opening a HTTP session before rasing a
213
+ # `Timeout::Error`.
214
+ #
215
+ # @option options [Integer] :http_read_timeout (60) The default
216
+ # number of seconds to wait for response data. This value can
217
+ # safely be set
218
+ # per-request on the session yeidled by {#session_for}.
219
+ #
220
+ # @option options [Float] :http_idle_timeout (5) The number of
221
+ # seconds a connection is allowed to sit idble before it is
222
+ # considered stale. Stale connections are closed and removed
223
+ # from the pool before making a request.
224
+ #
225
+ # @option options [Float] :http_continue_timeout (1) The number of
226
+ # seconds to wait for a 100-continue response before sending the
227
+ # request body. This option has no effect unless the request has
228
+ # "Expect" header set to "100-continue". Defaults to `nil` which
229
+ # disables this behaviour. This value can safely be set per
230
+ # request on the session yeidled by {#session_for}.
231
+ #
232
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
233
+ # HTTP debug output will be sent to the `:logger`.
234
+ #
235
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
236
+ # SSL peer certificates are verified when establishing a
237
+ # connection.
238
+ #
239
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
240
+ # certificate authority bundle file that should be used when
241
+ # verifying peer certificates. If you do not pass
242
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
243
+ # will be used if available.
244
+ #
245
+ # @option options [String] :ssl_ca_directory Full path of the
246
+ # directory that contains the unbundled SSL certificate
247
+ # authority files for verifying peer certificates. If you do
248
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
249
+ # system default will be used if available.
250
+ #
251
+ def initialize(*args)
252
+ super
253
+ end
254
+
255
+ # @!group API Operations
256
+
257
+ # Associates a customer gateway with a device and optionally, with a
258
+ # link. If you specify a link, it must be associated with the specified
259
+ # device.
260
+ #
261
+ # You can only associate customer gateways that are connected to a VPN
262
+ # attachment on a transit gateway. The transit gateway must be
263
+ # registered in your global network. When you register a transit
264
+ # gateway, customer gateways that are connected to the transit gateway
265
+ # are automatically included in the global network. To list customer
266
+ # gateways that are connected to a transit gateway, use the
267
+ # [DescribeVpnConnections][1] EC2 API and filter by
268
+ # `transit-gateway-id`.
269
+ #
270
+ # You cannot associate a customer gateway with more than one device and
271
+ # link.
272
+ #
273
+ #
274
+ #
275
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpnConnections.html
276
+ #
277
+ # @option params [required, String] :customer_gateway_arn
278
+ # The Amazon Resource Name (ARN) of the customer gateway. For more
279
+ # information, see [Resources Defined by Amazon EC2][1].
280
+ #
281
+ #
282
+ #
283
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies
284
+ #
285
+ # @option params [required, String] :global_network_id
286
+ # The ID of the global network.
287
+ #
288
+ # @option params [required, String] :device_id
289
+ # The ID of the device.
290
+ #
291
+ # @option params [String] :link_id
292
+ # The ID of the link.
293
+ #
294
+ # @return [Types::AssociateCustomerGatewayResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
295
+ #
296
+ # * {Types::AssociateCustomerGatewayResponse#customer_gateway_association #customer_gateway_association} => Types::CustomerGatewayAssociation
297
+ #
298
+ # @example Request syntax with placeholder values
299
+ #
300
+ # resp = client.associate_customer_gateway({
301
+ # customer_gateway_arn: "String", # required
302
+ # global_network_id: "String", # required
303
+ # device_id: "String", # required
304
+ # link_id: "String",
305
+ # })
306
+ #
307
+ # @example Response structure
308
+ #
309
+ # resp.customer_gateway_association.customer_gateway_arn #=> String
310
+ # resp.customer_gateway_association.global_network_id #=> String
311
+ # resp.customer_gateway_association.device_id #=> String
312
+ # resp.customer_gateway_association.link_id #=> String
313
+ # resp.customer_gateway_association.state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "DELETED"
314
+ #
315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/AssociateCustomerGateway AWS API Documentation
316
+ #
317
+ # @overload associate_customer_gateway(params = {})
318
+ # @param [Hash] params ({})
319
+ def associate_customer_gateway(params = {}, options = {})
320
+ req = build_request(:associate_customer_gateway, params)
321
+ req.send_request(options)
322
+ end
323
+
324
+ # Associates a link to a device. A device can be associated to multiple
325
+ # links and a link can be associated to multiple devices. The device and
326
+ # link must be in the same global network and the same site.
327
+ #
328
+ # @option params [required, String] :global_network_id
329
+ # The ID of the global network.
330
+ #
331
+ # @option params [required, String] :device_id
332
+ # The ID of the device.
333
+ #
334
+ # @option params [required, String] :link_id
335
+ # The ID of the link.
336
+ #
337
+ # @return [Types::AssociateLinkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
338
+ #
339
+ # * {Types::AssociateLinkResponse#link_association #link_association} => Types::LinkAssociation
340
+ #
341
+ # @example Request syntax with placeholder values
342
+ #
343
+ # resp = client.associate_link({
344
+ # global_network_id: "String", # required
345
+ # device_id: "String", # required
346
+ # link_id: "String", # required
347
+ # })
348
+ #
349
+ # @example Response structure
350
+ #
351
+ # resp.link_association.global_network_id #=> String
352
+ # resp.link_association.device_id #=> String
353
+ # resp.link_association.link_id #=> String
354
+ # resp.link_association.link_association_state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "DELETED"
355
+ #
356
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/AssociateLink AWS API Documentation
357
+ #
358
+ # @overload associate_link(params = {})
359
+ # @param [Hash] params ({})
360
+ def associate_link(params = {}, options = {})
361
+ req = build_request(:associate_link, params)
362
+ req.send_request(options)
363
+ end
364
+
365
+ # Creates a new device in a global network. If you specify both a site
366
+ # ID and a location, the location of the site is used for visualization
367
+ # in the Network Manager console.
368
+ #
369
+ # @option params [required, String] :global_network_id
370
+ # The ID of the global network.
371
+ #
372
+ # @option params [String] :description
373
+ # A description of the device.
374
+ #
375
+ # Length Constraints: Maximum length of 256 characters.
376
+ #
377
+ # @option params [String] :type
378
+ # The type of the device.
379
+ #
380
+ # @option params [String] :vendor
381
+ # The vendor of the device.
382
+ #
383
+ # Length Constraints: Maximum length of 128 characters.
384
+ #
385
+ # @option params [String] :model
386
+ # The model of the device.
387
+ #
388
+ # Length Constraints: Maximum length of 128 characters.
389
+ #
390
+ # @option params [String] :serial_number
391
+ # The serial number of the device.
392
+ #
393
+ # Length Constraints: Maximum length of 128 characters.
394
+ #
395
+ # @option params [Types::Location] :location
396
+ # The location of the device.
397
+ #
398
+ # @option params [String] :site_id
399
+ # The ID of the site.
400
+ #
401
+ # @option params [Array<Types::Tag>] :tags
402
+ # The tags to apply to the resource during creation.
403
+ #
404
+ # @return [Types::CreateDeviceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
405
+ #
406
+ # * {Types::CreateDeviceResponse#device #device} => Types::Device
407
+ #
408
+ # @example Request syntax with placeholder values
409
+ #
410
+ # resp = client.create_device({
411
+ # global_network_id: "String", # required
412
+ # description: "String",
413
+ # type: "String",
414
+ # vendor: "String",
415
+ # model: "String",
416
+ # serial_number: "String",
417
+ # location: {
418
+ # address: "String",
419
+ # latitude: "String",
420
+ # longitude: "String",
421
+ # },
422
+ # site_id: "String",
423
+ # tags: [
424
+ # {
425
+ # key: "TagKey",
426
+ # value: "TagValue",
427
+ # },
428
+ # ],
429
+ # })
430
+ #
431
+ # @example Response structure
432
+ #
433
+ # resp.device.device_id #=> String
434
+ # resp.device.device_arn #=> String
435
+ # resp.device.global_network_id #=> String
436
+ # resp.device.description #=> String
437
+ # resp.device.type #=> String
438
+ # resp.device.vendor #=> String
439
+ # resp.device.model #=> String
440
+ # resp.device.serial_number #=> String
441
+ # resp.device.location.address #=> String
442
+ # resp.device.location.latitude #=> String
443
+ # resp.device.location.longitude #=> String
444
+ # resp.device.site_id #=> String
445
+ # resp.device.created_at #=> Time
446
+ # resp.device.state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "UPDATING"
447
+ # resp.device.tags #=> Array
448
+ # resp.device.tags[0].key #=> String
449
+ # resp.device.tags[0].value #=> String
450
+ #
451
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateDevice AWS API Documentation
452
+ #
453
+ # @overload create_device(params = {})
454
+ # @param [Hash] params ({})
455
+ def create_device(params = {}, options = {})
456
+ req = build_request(:create_device, params)
457
+ req.send_request(options)
458
+ end
459
+
460
+ # Creates a new, empty global network.
461
+ #
462
+ # @option params [String] :description
463
+ # A description of the global network.
464
+ #
465
+ # Length Constraints: Maximum length of 256 characters.
466
+ #
467
+ # @option params [Array<Types::Tag>] :tags
468
+ # The tags to apply to the resource during creation.
469
+ #
470
+ # @return [Types::CreateGlobalNetworkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
471
+ #
472
+ # * {Types::CreateGlobalNetworkResponse#global_network #global_network} => Types::GlobalNetwork
473
+ #
474
+ # @example Request syntax with placeholder values
475
+ #
476
+ # resp = client.create_global_network({
477
+ # description: "String",
478
+ # tags: [
479
+ # {
480
+ # key: "TagKey",
481
+ # value: "TagValue",
482
+ # },
483
+ # ],
484
+ # })
485
+ #
486
+ # @example Response structure
487
+ #
488
+ # resp.global_network.global_network_id #=> String
489
+ # resp.global_network.global_network_arn #=> String
490
+ # resp.global_network.description #=> String
491
+ # resp.global_network.created_at #=> Time
492
+ # resp.global_network.state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "UPDATING"
493
+ # resp.global_network.tags #=> Array
494
+ # resp.global_network.tags[0].key #=> String
495
+ # resp.global_network.tags[0].value #=> String
496
+ #
497
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateGlobalNetwork AWS API Documentation
498
+ #
499
+ # @overload create_global_network(params = {})
500
+ # @param [Hash] params ({})
501
+ def create_global_network(params = {}, options = {})
502
+ req = build_request(:create_global_network, params)
503
+ req.send_request(options)
504
+ end
505
+
506
+ # Creates a new link for a specified site.
507
+ #
508
+ # @option params [required, String] :global_network_id
509
+ # The ID of the global network.
510
+ #
511
+ # @option params [String] :description
512
+ # A description of the link.
513
+ #
514
+ # Length Constraints: Maximum length of 256 characters.
515
+ #
516
+ # @option params [String] :type
517
+ # The type of the link.
518
+ #
519
+ # Constraints: Cannot include the following characters: \| \\ ^
520
+ #
521
+ # Length Constraints: Maximum length of 128 characters.
522
+ #
523
+ # @option params [required, Types::Bandwidth] :bandwidth
524
+ # The upload speed and download speed in Mbps.
525
+ #
526
+ # @option params [String] :provider
527
+ # The provider of the link.
528
+ #
529
+ # Constraints: Cannot include the following characters: \| \\ ^
530
+ #
531
+ # Length Constraints: Maximum length of 128 characters.
532
+ #
533
+ # @option params [required, String] :site_id
534
+ # The ID of the site.
535
+ #
536
+ # @option params [Array<Types::Tag>] :tags
537
+ # The tags to apply to the resource during creation.
538
+ #
539
+ # @return [Types::CreateLinkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
540
+ #
541
+ # * {Types::CreateLinkResponse#link #link} => Types::Link
542
+ #
543
+ # @example Request syntax with placeholder values
544
+ #
545
+ # resp = client.create_link({
546
+ # global_network_id: "String", # required
547
+ # description: "String",
548
+ # type: "String",
549
+ # bandwidth: { # required
550
+ # upload_speed: 1,
551
+ # download_speed: 1,
552
+ # },
553
+ # provider: "String",
554
+ # site_id: "String", # required
555
+ # tags: [
556
+ # {
557
+ # key: "TagKey",
558
+ # value: "TagValue",
559
+ # },
560
+ # ],
561
+ # })
562
+ #
563
+ # @example Response structure
564
+ #
565
+ # resp.link.link_id #=> String
566
+ # resp.link.link_arn #=> String
567
+ # resp.link.global_network_id #=> String
568
+ # resp.link.site_id #=> String
569
+ # resp.link.description #=> String
570
+ # resp.link.type #=> String
571
+ # resp.link.bandwidth.upload_speed #=> Integer
572
+ # resp.link.bandwidth.download_speed #=> Integer
573
+ # resp.link.provider #=> String
574
+ # resp.link.created_at #=> Time
575
+ # resp.link.state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "UPDATING"
576
+ # resp.link.tags #=> Array
577
+ # resp.link.tags[0].key #=> String
578
+ # resp.link.tags[0].value #=> String
579
+ #
580
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateLink AWS API Documentation
581
+ #
582
+ # @overload create_link(params = {})
583
+ # @param [Hash] params ({})
584
+ def create_link(params = {}, options = {})
585
+ req = build_request(:create_link, params)
586
+ req.send_request(options)
587
+ end
588
+
589
+ # Creates a new site in a global network.
590
+ #
591
+ # @option params [required, String] :global_network_id
592
+ # The ID of the global network.
593
+ #
594
+ # @option params [String] :description
595
+ # A description of your site.
596
+ #
597
+ # Length Constraints: Maximum length of 256 characters.
598
+ #
599
+ # @option params [Types::Location] :location
600
+ # The site location. This information is used for visualization in the
601
+ # Network Manager console. If you specify the address, the latitude and
602
+ # longitude are automatically calculated.
603
+ #
604
+ # * `Address`\: The physical address of the site.
605
+ #
606
+ # * `Latitude`\: The latitude of the site.
607
+ #
608
+ # * `Longitude`\: The longitude of the site.
609
+ #
610
+ # @option params [Array<Types::Tag>] :tags
611
+ # The tags to apply to the resource during creation.
612
+ #
613
+ # @return [Types::CreateSiteResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
614
+ #
615
+ # * {Types::CreateSiteResponse#site #site} => Types::Site
616
+ #
617
+ # @example Request syntax with placeholder values
618
+ #
619
+ # resp = client.create_site({
620
+ # global_network_id: "String", # required
621
+ # description: "String",
622
+ # location: {
623
+ # address: "String",
624
+ # latitude: "String",
625
+ # longitude: "String",
626
+ # },
627
+ # tags: [
628
+ # {
629
+ # key: "TagKey",
630
+ # value: "TagValue",
631
+ # },
632
+ # ],
633
+ # })
634
+ #
635
+ # @example Response structure
636
+ #
637
+ # resp.site.site_id #=> String
638
+ # resp.site.site_arn #=> String
639
+ # resp.site.global_network_id #=> String
640
+ # resp.site.description #=> String
641
+ # resp.site.location.address #=> String
642
+ # resp.site.location.latitude #=> String
643
+ # resp.site.location.longitude #=> String
644
+ # resp.site.created_at #=> Time
645
+ # resp.site.state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "UPDATING"
646
+ # resp.site.tags #=> Array
647
+ # resp.site.tags[0].key #=> String
648
+ # resp.site.tags[0].value #=> String
649
+ #
650
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateSite AWS API Documentation
651
+ #
652
+ # @overload create_site(params = {})
653
+ # @param [Hash] params ({})
654
+ def create_site(params = {}, options = {})
655
+ req = build_request(:create_site, params)
656
+ req.send_request(options)
657
+ end
658
+
659
+ # Deletes an existing device. You must first disassociate the device
660
+ # from any links and customer gateways.
661
+ #
662
+ # @option params [required, String] :global_network_id
663
+ # The ID of the global network.
664
+ #
665
+ # @option params [required, String] :device_id
666
+ # The ID of the device.
667
+ #
668
+ # @return [Types::DeleteDeviceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
669
+ #
670
+ # * {Types::DeleteDeviceResponse#device #device} => Types::Device
671
+ #
672
+ # @example Request syntax with placeholder values
673
+ #
674
+ # resp = client.delete_device({
675
+ # global_network_id: "String", # required
676
+ # device_id: "String", # required
677
+ # })
678
+ #
679
+ # @example Response structure
680
+ #
681
+ # resp.device.device_id #=> String
682
+ # resp.device.device_arn #=> String
683
+ # resp.device.global_network_id #=> String
684
+ # resp.device.description #=> String
685
+ # resp.device.type #=> String
686
+ # resp.device.vendor #=> String
687
+ # resp.device.model #=> String
688
+ # resp.device.serial_number #=> String
689
+ # resp.device.location.address #=> String
690
+ # resp.device.location.latitude #=> String
691
+ # resp.device.location.longitude #=> String
692
+ # resp.device.site_id #=> String
693
+ # resp.device.created_at #=> Time
694
+ # resp.device.state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "UPDATING"
695
+ # resp.device.tags #=> Array
696
+ # resp.device.tags[0].key #=> String
697
+ # resp.device.tags[0].value #=> String
698
+ #
699
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteDevice AWS API Documentation
700
+ #
701
+ # @overload delete_device(params = {})
702
+ # @param [Hash] params ({})
703
+ def delete_device(params = {}, options = {})
704
+ req = build_request(:delete_device, params)
705
+ req.send_request(options)
706
+ end
707
+
708
+ # Deletes an existing global network. You must first delete all global
709
+ # network objects (devices, links, and sites) and deregister all transit
710
+ # gateways.
711
+ #
712
+ # @option params [required, String] :global_network_id
713
+ # The ID of the global network.
714
+ #
715
+ # @return [Types::DeleteGlobalNetworkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
716
+ #
717
+ # * {Types::DeleteGlobalNetworkResponse#global_network #global_network} => Types::GlobalNetwork
718
+ #
719
+ # @example Request syntax with placeholder values
720
+ #
721
+ # resp = client.delete_global_network({
722
+ # global_network_id: "String", # required
723
+ # })
724
+ #
725
+ # @example Response structure
726
+ #
727
+ # resp.global_network.global_network_id #=> String
728
+ # resp.global_network.global_network_arn #=> String
729
+ # resp.global_network.description #=> String
730
+ # resp.global_network.created_at #=> Time
731
+ # resp.global_network.state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "UPDATING"
732
+ # resp.global_network.tags #=> Array
733
+ # resp.global_network.tags[0].key #=> String
734
+ # resp.global_network.tags[0].value #=> String
735
+ #
736
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteGlobalNetwork AWS API Documentation
737
+ #
738
+ # @overload delete_global_network(params = {})
739
+ # @param [Hash] params ({})
740
+ def delete_global_network(params = {}, options = {})
741
+ req = build_request(:delete_global_network, params)
742
+ req.send_request(options)
743
+ end
744
+
745
+ # Deletes an existing link. You must first disassociate the link from
746
+ # any devices and customer gateways.
747
+ #
748
+ # @option params [required, String] :global_network_id
749
+ # The ID of the global network.
750
+ #
751
+ # @option params [required, String] :link_id
752
+ # The ID of the link.
753
+ #
754
+ # @return [Types::DeleteLinkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
755
+ #
756
+ # * {Types::DeleteLinkResponse#link #link} => Types::Link
757
+ #
758
+ # @example Request syntax with placeholder values
759
+ #
760
+ # resp = client.delete_link({
761
+ # global_network_id: "String", # required
762
+ # link_id: "String", # required
763
+ # })
764
+ #
765
+ # @example Response structure
766
+ #
767
+ # resp.link.link_id #=> String
768
+ # resp.link.link_arn #=> String
769
+ # resp.link.global_network_id #=> String
770
+ # resp.link.site_id #=> String
771
+ # resp.link.description #=> String
772
+ # resp.link.type #=> String
773
+ # resp.link.bandwidth.upload_speed #=> Integer
774
+ # resp.link.bandwidth.download_speed #=> Integer
775
+ # resp.link.provider #=> String
776
+ # resp.link.created_at #=> Time
777
+ # resp.link.state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "UPDATING"
778
+ # resp.link.tags #=> Array
779
+ # resp.link.tags[0].key #=> String
780
+ # resp.link.tags[0].value #=> String
781
+ #
782
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteLink AWS API Documentation
783
+ #
784
+ # @overload delete_link(params = {})
785
+ # @param [Hash] params ({})
786
+ def delete_link(params = {}, options = {})
787
+ req = build_request(:delete_link, params)
788
+ req.send_request(options)
789
+ end
790
+
791
+ # Deletes an existing site. The site cannot be associated with any
792
+ # device or link.
793
+ #
794
+ # @option params [required, String] :global_network_id
795
+ # The ID of the global network.
796
+ #
797
+ # @option params [required, String] :site_id
798
+ # The ID of the site.
799
+ #
800
+ # @return [Types::DeleteSiteResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
801
+ #
802
+ # * {Types::DeleteSiteResponse#site #site} => Types::Site
803
+ #
804
+ # @example Request syntax with placeholder values
805
+ #
806
+ # resp = client.delete_site({
807
+ # global_network_id: "String", # required
808
+ # site_id: "String", # required
809
+ # })
810
+ #
811
+ # @example Response structure
812
+ #
813
+ # resp.site.site_id #=> String
814
+ # resp.site.site_arn #=> String
815
+ # resp.site.global_network_id #=> String
816
+ # resp.site.description #=> String
817
+ # resp.site.location.address #=> String
818
+ # resp.site.location.latitude #=> String
819
+ # resp.site.location.longitude #=> String
820
+ # resp.site.created_at #=> Time
821
+ # resp.site.state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "UPDATING"
822
+ # resp.site.tags #=> Array
823
+ # resp.site.tags[0].key #=> String
824
+ # resp.site.tags[0].value #=> String
825
+ #
826
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteSite AWS API Documentation
827
+ #
828
+ # @overload delete_site(params = {})
829
+ # @param [Hash] params ({})
830
+ def delete_site(params = {}, options = {})
831
+ req = build_request(:delete_site, params)
832
+ req.send_request(options)
833
+ end
834
+
835
+ # Deregisters a transit gateway from your global network. This action
836
+ # does not delete your transit gateway, or modify any of its
837
+ # attachments. This action removes any customer gateway associations.
838
+ #
839
+ # @option params [required, String] :global_network_id
840
+ # The ID of the global network.
841
+ #
842
+ # @option params [required, String] :transit_gateway_arn
843
+ # The Amazon Resource Name (ARN) of the transit gateway.
844
+ #
845
+ # @return [Types::DeregisterTransitGatewayResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
846
+ #
847
+ # * {Types::DeregisterTransitGatewayResponse#transit_gateway_registration #transit_gateway_registration} => Types::TransitGatewayRegistration
848
+ #
849
+ # @example Request syntax with placeholder values
850
+ #
851
+ # resp = client.deregister_transit_gateway({
852
+ # global_network_id: "String", # required
853
+ # transit_gateway_arn: "String", # required
854
+ # })
855
+ #
856
+ # @example Response structure
857
+ #
858
+ # resp.transit_gateway_registration.global_network_id #=> String
859
+ # resp.transit_gateway_registration.transit_gateway_arn #=> String
860
+ # resp.transit_gateway_registration.state.code #=> String, one of "PENDING", "AVAILABLE", "DELETING", "DELETED", "FAILED"
861
+ # resp.transit_gateway_registration.state.message #=> String
862
+ #
863
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeregisterTransitGateway AWS API Documentation
864
+ #
865
+ # @overload deregister_transit_gateway(params = {})
866
+ # @param [Hash] params ({})
867
+ def deregister_transit_gateway(params = {}, options = {})
868
+ req = build_request(:deregister_transit_gateway, params)
869
+ req.send_request(options)
870
+ end
871
+
872
+ # Describes one or more global networks. By default, all global networks
873
+ # are described. To describe the objects in your global network, you
874
+ # must use the appropriate `Get*` action. For example, to list the
875
+ # transit gateways in your global network, use
876
+ # GetTransitGatewayRegistrations.
877
+ #
878
+ # @option params [Array<String>] :global_network_ids
879
+ # The IDs of one or more global networks. The maximum is 10.
880
+ #
881
+ # @option params [Integer] :max_results
882
+ # The maximum number of results to return.
883
+ #
884
+ # @option params [String] :next_token
885
+ # The token for the next page of results.
886
+ #
887
+ # @return [Types::DescribeGlobalNetworksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
888
+ #
889
+ # * {Types::DescribeGlobalNetworksResponse#global_networks #global_networks} => Array&lt;Types::GlobalNetwork&gt;
890
+ # * {Types::DescribeGlobalNetworksResponse#next_token #next_token} => String
891
+ #
892
+ # @example Request syntax with placeholder values
893
+ #
894
+ # resp = client.describe_global_networks({
895
+ # global_network_ids: ["String"],
896
+ # max_results: 1,
897
+ # next_token: "String",
898
+ # })
899
+ #
900
+ # @example Response structure
901
+ #
902
+ # resp.global_networks #=> Array
903
+ # resp.global_networks[0].global_network_id #=> String
904
+ # resp.global_networks[0].global_network_arn #=> String
905
+ # resp.global_networks[0].description #=> String
906
+ # resp.global_networks[0].created_at #=> Time
907
+ # resp.global_networks[0].state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "UPDATING"
908
+ # resp.global_networks[0].tags #=> Array
909
+ # resp.global_networks[0].tags[0].key #=> String
910
+ # resp.global_networks[0].tags[0].value #=> String
911
+ # resp.next_token #=> String
912
+ #
913
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DescribeGlobalNetworks AWS API Documentation
914
+ #
915
+ # @overload describe_global_networks(params = {})
916
+ # @param [Hash] params ({})
917
+ def describe_global_networks(params = {}, options = {})
918
+ req = build_request(:describe_global_networks, params)
919
+ req.send_request(options)
920
+ end
921
+
922
+ # Disassociates a customer gateway from a device and a link.
923
+ #
924
+ # @option params [required, String] :global_network_id
925
+ # The ID of the global network.
926
+ #
927
+ # @option params [required, String] :customer_gateway_arn
928
+ # The Amazon Resource Name (ARN) of the customer gateway. For more
929
+ # information, see [Resources Defined by Amazon EC2][1].
930
+ #
931
+ #
932
+ #
933
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies
934
+ #
935
+ # @return [Types::DisassociateCustomerGatewayResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
936
+ #
937
+ # * {Types::DisassociateCustomerGatewayResponse#customer_gateway_association #customer_gateway_association} => Types::CustomerGatewayAssociation
938
+ #
939
+ # @example Request syntax with placeholder values
940
+ #
941
+ # resp = client.disassociate_customer_gateway({
942
+ # global_network_id: "String", # required
943
+ # customer_gateway_arn: "String", # required
944
+ # })
945
+ #
946
+ # @example Response structure
947
+ #
948
+ # resp.customer_gateway_association.customer_gateway_arn #=> String
949
+ # resp.customer_gateway_association.global_network_id #=> String
950
+ # resp.customer_gateway_association.device_id #=> String
951
+ # resp.customer_gateway_association.link_id #=> String
952
+ # resp.customer_gateway_association.state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "DELETED"
953
+ #
954
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DisassociateCustomerGateway AWS API Documentation
955
+ #
956
+ # @overload disassociate_customer_gateway(params = {})
957
+ # @param [Hash] params ({})
958
+ def disassociate_customer_gateway(params = {}, options = {})
959
+ req = build_request(:disassociate_customer_gateway, params)
960
+ req.send_request(options)
961
+ end
962
+
963
+ # Disassociates an existing device from a link. You must first
964
+ # disassociate any customer gateways that are associated with the link.
965
+ #
966
+ # @option params [required, String] :global_network_id
967
+ # The ID of the global network.
968
+ #
969
+ # @option params [required, String] :device_id
970
+ # The ID of the device.
971
+ #
972
+ # @option params [required, String] :link_id
973
+ # The ID of the link.
974
+ #
975
+ # @return [Types::DisassociateLinkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
976
+ #
977
+ # * {Types::DisassociateLinkResponse#link_association #link_association} => Types::LinkAssociation
978
+ #
979
+ # @example Request syntax with placeholder values
980
+ #
981
+ # resp = client.disassociate_link({
982
+ # global_network_id: "String", # required
983
+ # device_id: "String", # required
984
+ # link_id: "String", # required
985
+ # })
986
+ #
987
+ # @example Response structure
988
+ #
989
+ # resp.link_association.global_network_id #=> String
990
+ # resp.link_association.device_id #=> String
991
+ # resp.link_association.link_id #=> String
992
+ # resp.link_association.link_association_state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "DELETED"
993
+ #
994
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DisassociateLink AWS API Documentation
995
+ #
996
+ # @overload disassociate_link(params = {})
997
+ # @param [Hash] params ({})
998
+ def disassociate_link(params = {}, options = {})
999
+ req = build_request(:disassociate_link, params)
1000
+ req.send_request(options)
1001
+ end
1002
+
1003
+ # Gets the association information for customer gateways that are
1004
+ # associated with devices and links in your global network.
1005
+ #
1006
+ # @option params [required, String] :global_network_id
1007
+ # The ID of the global network.
1008
+ #
1009
+ # @option params [Array<String>] :customer_gateway_arns
1010
+ # One or more customer gateway Amazon Resource Names (ARNs). For more
1011
+ # information, see [Resources Defined by Amazon EC2][1]. The maximum is
1012
+ # 10.
1013
+ #
1014
+ #
1015
+ #
1016
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies
1017
+ #
1018
+ # @option params [Integer] :max_results
1019
+ # The maximum number of results to return.
1020
+ #
1021
+ # @option params [String] :next_token
1022
+ # The token for the next page of results.
1023
+ #
1024
+ # @return [Types::GetCustomerGatewayAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1025
+ #
1026
+ # * {Types::GetCustomerGatewayAssociationsResponse#customer_gateway_associations #customer_gateway_associations} => Array&lt;Types::CustomerGatewayAssociation&gt;
1027
+ # * {Types::GetCustomerGatewayAssociationsResponse#next_token #next_token} => String
1028
+ #
1029
+ # @example Request syntax with placeholder values
1030
+ #
1031
+ # resp = client.get_customer_gateway_associations({
1032
+ # global_network_id: "String", # required
1033
+ # customer_gateway_arns: ["String"],
1034
+ # max_results: 1,
1035
+ # next_token: "String",
1036
+ # })
1037
+ #
1038
+ # @example Response structure
1039
+ #
1040
+ # resp.customer_gateway_associations #=> Array
1041
+ # resp.customer_gateway_associations[0].customer_gateway_arn #=> String
1042
+ # resp.customer_gateway_associations[0].global_network_id #=> String
1043
+ # resp.customer_gateway_associations[0].device_id #=> String
1044
+ # resp.customer_gateway_associations[0].link_id #=> String
1045
+ # resp.customer_gateway_associations[0].state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "DELETED"
1046
+ # resp.next_token #=> String
1047
+ #
1048
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetCustomerGatewayAssociations AWS API Documentation
1049
+ #
1050
+ # @overload get_customer_gateway_associations(params = {})
1051
+ # @param [Hash] params ({})
1052
+ def get_customer_gateway_associations(params = {}, options = {})
1053
+ req = build_request(:get_customer_gateway_associations, params)
1054
+ req.send_request(options)
1055
+ end
1056
+
1057
+ # Gets information about one or more of your devices in a global
1058
+ # network.
1059
+ #
1060
+ # @option params [required, String] :global_network_id
1061
+ # The ID of the global network.
1062
+ #
1063
+ # @option params [Array<String>] :device_ids
1064
+ # One or more device IDs. The maximum is 10.
1065
+ #
1066
+ # @option params [String] :site_id
1067
+ # The ID of the site.
1068
+ #
1069
+ # @option params [Integer] :max_results
1070
+ # The maximum number of results to return.
1071
+ #
1072
+ # @option params [String] :next_token
1073
+ # The token for the next page of results.
1074
+ #
1075
+ # @return [Types::GetDevicesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1076
+ #
1077
+ # * {Types::GetDevicesResponse#devices #devices} => Array&lt;Types::Device&gt;
1078
+ # * {Types::GetDevicesResponse#next_token #next_token} => String
1079
+ #
1080
+ # @example Request syntax with placeholder values
1081
+ #
1082
+ # resp = client.get_devices({
1083
+ # global_network_id: "String", # required
1084
+ # device_ids: ["String"],
1085
+ # site_id: "String",
1086
+ # max_results: 1,
1087
+ # next_token: "String",
1088
+ # })
1089
+ #
1090
+ # @example Response structure
1091
+ #
1092
+ # resp.devices #=> Array
1093
+ # resp.devices[0].device_id #=> String
1094
+ # resp.devices[0].device_arn #=> String
1095
+ # resp.devices[0].global_network_id #=> String
1096
+ # resp.devices[0].description #=> String
1097
+ # resp.devices[0].type #=> String
1098
+ # resp.devices[0].vendor #=> String
1099
+ # resp.devices[0].model #=> String
1100
+ # resp.devices[0].serial_number #=> String
1101
+ # resp.devices[0].location.address #=> String
1102
+ # resp.devices[0].location.latitude #=> String
1103
+ # resp.devices[0].location.longitude #=> String
1104
+ # resp.devices[0].site_id #=> String
1105
+ # resp.devices[0].created_at #=> Time
1106
+ # resp.devices[0].state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "UPDATING"
1107
+ # resp.devices[0].tags #=> Array
1108
+ # resp.devices[0].tags[0].key #=> String
1109
+ # resp.devices[0].tags[0].value #=> String
1110
+ # resp.next_token #=> String
1111
+ #
1112
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetDevices AWS API Documentation
1113
+ #
1114
+ # @overload get_devices(params = {})
1115
+ # @param [Hash] params ({})
1116
+ def get_devices(params = {}, options = {})
1117
+ req = build_request(:get_devices, params)
1118
+ req.send_request(options)
1119
+ end
1120
+
1121
+ # Gets the link associations for a device or a link. Either the device
1122
+ # ID or the link ID must be specified.
1123
+ #
1124
+ # @option params [required, String] :global_network_id
1125
+ # The ID of the global network.
1126
+ #
1127
+ # @option params [String] :device_id
1128
+ # The ID of the device.
1129
+ #
1130
+ # @option params [String] :link_id
1131
+ # The ID of the link.
1132
+ #
1133
+ # @option params [Integer] :max_results
1134
+ # The maximum number of results to return.
1135
+ #
1136
+ # @option params [String] :next_token
1137
+ # The token for the next page of results.
1138
+ #
1139
+ # @return [Types::GetLinkAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1140
+ #
1141
+ # * {Types::GetLinkAssociationsResponse#link_associations #link_associations} => Array&lt;Types::LinkAssociation&gt;
1142
+ # * {Types::GetLinkAssociationsResponse#next_token #next_token} => String
1143
+ #
1144
+ # @example Request syntax with placeholder values
1145
+ #
1146
+ # resp = client.get_link_associations({
1147
+ # global_network_id: "String", # required
1148
+ # device_id: "String",
1149
+ # link_id: "String",
1150
+ # max_results: 1,
1151
+ # next_token: "String",
1152
+ # })
1153
+ #
1154
+ # @example Response structure
1155
+ #
1156
+ # resp.link_associations #=> Array
1157
+ # resp.link_associations[0].global_network_id #=> String
1158
+ # resp.link_associations[0].device_id #=> String
1159
+ # resp.link_associations[0].link_id #=> String
1160
+ # resp.link_associations[0].link_association_state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "DELETED"
1161
+ # resp.next_token #=> String
1162
+ #
1163
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetLinkAssociations AWS API Documentation
1164
+ #
1165
+ # @overload get_link_associations(params = {})
1166
+ # @param [Hash] params ({})
1167
+ def get_link_associations(params = {}, options = {})
1168
+ req = build_request(:get_link_associations, params)
1169
+ req.send_request(options)
1170
+ end
1171
+
1172
+ # Gets information about one or more links in a specified global
1173
+ # network.
1174
+ #
1175
+ # If you specify the site ID, you cannot specify the type or provider in
1176
+ # the same request. You can specify the type and provider in the same
1177
+ # request.
1178
+ #
1179
+ # @option params [required, String] :global_network_id
1180
+ # The ID of the global network.
1181
+ #
1182
+ # @option params [Array<String>] :link_ids
1183
+ # One or more link IDs. The maximum is 10.
1184
+ #
1185
+ # @option params [String] :site_id
1186
+ # The ID of the site.
1187
+ #
1188
+ # @option params [String] :type
1189
+ # The link type.
1190
+ #
1191
+ # @option params [String] :provider
1192
+ # The link provider.
1193
+ #
1194
+ # @option params [Integer] :max_results
1195
+ # The maximum number of results to return.
1196
+ #
1197
+ # @option params [String] :next_token
1198
+ # The token for the next page of results.
1199
+ #
1200
+ # @return [Types::GetLinksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1201
+ #
1202
+ # * {Types::GetLinksResponse#links #links} => Array&lt;Types::Link&gt;
1203
+ # * {Types::GetLinksResponse#next_token #next_token} => String
1204
+ #
1205
+ # @example Request syntax with placeholder values
1206
+ #
1207
+ # resp = client.get_links({
1208
+ # global_network_id: "String", # required
1209
+ # link_ids: ["String"],
1210
+ # site_id: "String",
1211
+ # type: "String",
1212
+ # provider: "String",
1213
+ # max_results: 1,
1214
+ # next_token: "String",
1215
+ # })
1216
+ #
1217
+ # @example Response structure
1218
+ #
1219
+ # resp.links #=> Array
1220
+ # resp.links[0].link_id #=> String
1221
+ # resp.links[0].link_arn #=> String
1222
+ # resp.links[0].global_network_id #=> String
1223
+ # resp.links[0].site_id #=> String
1224
+ # resp.links[0].description #=> String
1225
+ # resp.links[0].type #=> String
1226
+ # resp.links[0].bandwidth.upload_speed #=> Integer
1227
+ # resp.links[0].bandwidth.download_speed #=> Integer
1228
+ # resp.links[0].provider #=> String
1229
+ # resp.links[0].created_at #=> Time
1230
+ # resp.links[0].state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "UPDATING"
1231
+ # resp.links[0].tags #=> Array
1232
+ # resp.links[0].tags[0].key #=> String
1233
+ # resp.links[0].tags[0].value #=> String
1234
+ # resp.next_token #=> String
1235
+ #
1236
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetLinks AWS API Documentation
1237
+ #
1238
+ # @overload get_links(params = {})
1239
+ # @param [Hash] params ({})
1240
+ def get_links(params = {}, options = {})
1241
+ req = build_request(:get_links, params)
1242
+ req.send_request(options)
1243
+ end
1244
+
1245
+ # Gets information about one or more of your sites in a global network.
1246
+ #
1247
+ # @option params [required, String] :global_network_id
1248
+ # The ID of the global network.
1249
+ #
1250
+ # @option params [Array<String>] :site_ids
1251
+ # One or more site IDs. The maximum is 10.
1252
+ #
1253
+ # @option params [Integer] :max_results
1254
+ # The maximum number of results to return.
1255
+ #
1256
+ # @option params [String] :next_token
1257
+ # The token for the next page of results.
1258
+ #
1259
+ # @return [Types::GetSitesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1260
+ #
1261
+ # * {Types::GetSitesResponse#sites #sites} => Array&lt;Types::Site&gt;
1262
+ # * {Types::GetSitesResponse#next_token #next_token} => String
1263
+ #
1264
+ # @example Request syntax with placeholder values
1265
+ #
1266
+ # resp = client.get_sites({
1267
+ # global_network_id: "String", # required
1268
+ # site_ids: ["String"],
1269
+ # max_results: 1,
1270
+ # next_token: "String",
1271
+ # })
1272
+ #
1273
+ # @example Response structure
1274
+ #
1275
+ # resp.sites #=> Array
1276
+ # resp.sites[0].site_id #=> String
1277
+ # resp.sites[0].site_arn #=> String
1278
+ # resp.sites[0].global_network_id #=> String
1279
+ # resp.sites[0].description #=> String
1280
+ # resp.sites[0].location.address #=> String
1281
+ # resp.sites[0].location.latitude #=> String
1282
+ # resp.sites[0].location.longitude #=> String
1283
+ # resp.sites[0].created_at #=> Time
1284
+ # resp.sites[0].state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "UPDATING"
1285
+ # resp.sites[0].tags #=> Array
1286
+ # resp.sites[0].tags[0].key #=> String
1287
+ # resp.sites[0].tags[0].value #=> String
1288
+ # resp.next_token #=> String
1289
+ #
1290
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetSites AWS API Documentation
1291
+ #
1292
+ # @overload get_sites(params = {})
1293
+ # @param [Hash] params ({})
1294
+ def get_sites(params = {}, options = {})
1295
+ req = build_request(:get_sites, params)
1296
+ req.send_request(options)
1297
+ end
1298
+
1299
+ # Gets information about the transit gateway registrations in a
1300
+ # specified global network.
1301
+ #
1302
+ # @option params [required, String] :global_network_id
1303
+ # The ID of the global network.
1304
+ #
1305
+ # @option params [Array<String>] :transit_gateway_arns
1306
+ # The Amazon Resource Names (ARNs) of one or more transit gateways. The
1307
+ # maximum is 10.
1308
+ #
1309
+ # @option params [Integer] :max_results
1310
+ # The maximum number of results to return.
1311
+ #
1312
+ # @option params [String] :next_token
1313
+ # The token for the next page of results.
1314
+ #
1315
+ # @return [Types::GetTransitGatewayRegistrationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1316
+ #
1317
+ # * {Types::GetTransitGatewayRegistrationsResponse#transit_gateway_registrations #transit_gateway_registrations} => Array&lt;Types::TransitGatewayRegistration&gt;
1318
+ # * {Types::GetTransitGatewayRegistrationsResponse#next_token #next_token} => String
1319
+ #
1320
+ # @example Request syntax with placeholder values
1321
+ #
1322
+ # resp = client.get_transit_gateway_registrations({
1323
+ # global_network_id: "String", # required
1324
+ # transit_gateway_arns: ["String"],
1325
+ # max_results: 1,
1326
+ # next_token: "String",
1327
+ # })
1328
+ #
1329
+ # @example Response structure
1330
+ #
1331
+ # resp.transit_gateway_registrations #=> Array
1332
+ # resp.transit_gateway_registrations[0].global_network_id #=> String
1333
+ # resp.transit_gateway_registrations[0].transit_gateway_arn #=> String
1334
+ # resp.transit_gateway_registrations[0].state.code #=> String, one of "PENDING", "AVAILABLE", "DELETING", "DELETED", "FAILED"
1335
+ # resp.transit_gateway_registrations[0].state.message #=> String
1336
+ # resp.next_token #=> String
1337
+ #
1338
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetTransitGatewayRegistrations AWS API Documentation
1339
+ #
1340
+ # @overload get_transit_gateway_registrations(params = {})
1341
+ # @param [Hash] params ({})
1342
+ def get_transit_gateway_registrations(params = {}, options = {})
1343
+ req = build_request(:get_transit_gateway_registrations, params)
1344
+ req.send_request(options)
1345
+ end
1346
+
1347
+ # Lists the tags for a specified resource.
1348
+ #
1349
+ # @option params [required, String] :resource_arn
1350
+ # The Amazon Resource Name (ARN) of the resource.
1351
+ #
1352
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1353
+ #
1354
+ # * {Types::ListTagsForResourceResponse#tag_list #tag_list} => Array&lt;Types::Tag&gt;
1355
+ #
1356
+ # @example Request syntax with placeholder values
1357
+ #
1358
+ # resp = client.list_tags_for_resource({
1359
+ # resource_arn: "ResourceARN", # required
1360
+ # })
1361
+ #
1362
+ # @example Response structure
1363
+ #
1364
+ # resp.tag_list #=> Array
1365
+ # resp.tag_list[0].key #=> String
1366
+ # resp.tag_list[0].value #=> String
1367
+ #
1368
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/ListTagsForResource AWS API Documentation
1369
+ #
1370
+ # @overload list_tags_for_resource(params = {})
1371
+ # @param [Hash] params ({})
1372
+ def list_tags_for_resource(params = {}, options = {})
1373
+ req = build_request(:list_tags_for_resource, params)
1374
+ req.send_request(options)
1375
+ end
1376
+
1377
+ # Registers a transit gateway in your global network. The transit
1378
+ # gateway can be in any AWS Region, but it must be owned by the same AWS
1379
+ # account that owns the global network. You cannot register a transit
1380
+ # gateway in more than one global network.
1381
+ #
1382
+ # @option params [required, String] :global_network_id
1383
+ # The ID of the global network.
1384
+ #
1385
+ # @option params [required, String] :transit_gateway_arn
1386
+ # The Amazon Resource Name (ARN) of the transit gateway. For more
1387
+ # information, see [Resources Defined by Amazon EC2][1].
1388
+ #
1389
+ #
1390
+ #
1391
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies
1392
+ #
1393
+ # @return [Types::RegisterTransitGatewayResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1394
+ #
1395
+ # * {Types::RegisterTransitGatewayResponse#transit_gateway_registration #transit_gateway_registration} => Types::TransitGatewayRegistration
1396
+ #
1397
+ # @example Request syntax with placeholder values
1398
+ #
1399
+ # resp = client.register_transit_gateway({
1400
+ # global_network_id: "String", # required
1401
+ # transit_gateway_arn: "String", # required
1402
+ # })
1403
+ #
1404
+ # @example Response structure
1405
+ #
1406
+ # resp.transit_gateway_registration.global_network_id #=> String
1407
+ # resp.transit_gateway_registration.transit_gateway_arn #=> String
1408
+ # resp.transit_gateway_registration.state.code #=> String, one of "PENDING", "AVAILABLE", "DELETING", "DELETED", "FAILED"
1409
+ # resp.transit_gateway_registration.state.message #=> String
1410
+ #
1411
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/RegisterTransitGateway AWS API Documentation
1412
+ #
1413
+ # @overload register_transit_gateway(params = {})
1414
+ # @param [Hash] params ({})
1415
+ def register_transit_gateway(params = {}, options = {})
1416
+ req = build_request(:register_transit_gateway, params)
1417
+ req.send_request(options)
1418
+ end
1419
+
1420
+ # Tags a specified resource.
1421
+ #
1422
+ # @option params [required, String] :resource_arn
1423
+ # The Amazon Resource Name (ARN) of the resource.
1424
+ #
1425
+ # @option params [required, Array<Types::Tag>] :tags
1426
+ # The tags to apply to the specified resource.
1427
+ #
1428
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1429
+ #
1430
+ # @example Request syntax with placeholder values
1431
+ #
1432
+ # resp = client.tag_resource({
1433
+ # resource_arn: "ResourceARN", # required
1434
+ # tags: [ # required
1435
+ # {
1436
+ # key: "TagKey",
1437
+ # value: "TagValue",
1438
+ # },
1439
+ # ],
1440
+ # })
1441
+ #
1442
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/TagResource AWS API Documentation
1443
+ #
1444
+ # @overload tag_resource(params = {})
1445
+ # @param [Hash] params ({})
1446
+ def tag_resource(params = {}, options = {})
1447
+ req = build_request(:tag_resource, params)
1448
+ req.send_request(options)
1449
+ end
1450
+
1451
+ # Removes tags from a specified resource.
1452
+ #
1453
+ # @option params [required, String] :resource_arn
1454
+ # The Amazon Resource Name (ARN) of the resource.
1455
+ #
1456
+ # @option params [required, Array<String>] :tag_keys
1457
+ # The tag keys to remove from the specified resource.
1458
+ #
1459
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1460
+ #
1461
+ # @example Request syntax with placeholder values
1462
+ #
1463
+ # resp = client.untag_resource({
1464
+ # resource_arn: "ResourceARN", # required
1465
+ # tag_keys: ["TagKey"], # required
1466
+ # })
1467
+ #
1468
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UntagResource AWS API Documentation
1469
+ #
1470
+ # @overload untag_resource(params = {})
1471
+ # @param [Hash] params ({})
1472
+ def untag_resource(params = {}, options = {})
1473
+ req = build_request(:untag_resource, params)
1474
+ req.send_request(options)
1475
+ end
1476
+
1477
+ # Updates the details for an existing device. To remove information for
1478
+ # any of the parameters, specify an empty string.
1479
+ #
1480
+ # @option params [required, String] :global_network_id
1481
+ # The ID of the global network.
1482
+ #
1483
+ # @option params [required, String] :device_id
1484
+ # The ID of the device.
1485
+ #
1486
+ # @option params [String] :description
1487
+ # A description of the device.
1488
+ #
1489
+ # Length Constraints: Maximum length of 256 characters.
1490
+ #
1491
+ # @option params [String] :type
1492
+ # The type of the device.
1493
+ #
1494
+ # @option params [String] :vendor
1495
+ # The vendor of the device.
1496
+ #
1497
+ # Length Constraints: Maximum length of 128 characters.
1498
+ #
1499
+ # @option params [String] :model
1500
+ # The model of the device.
1501
+ #
1502
+ # Length Constraints: Maximum length of 128 characters.
1503
+ #
1504
+ # @option params [String] :serial_number
1505
+ # The serial number of the device.
1506
+ #
1507
+ # Length Constraints: Maximum length of 128 characters.
1508
+ #
1509
+ # @option params [Types::Location] :location
1510
+ # Describes a location.
1511
+ #
1512
+ # @option params [String] :site_id
1513
+ # The ID of the site.
1514
+ #
1515
+ # @return [Types::UpdateDeviceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1516
+ #
1517
+ # * {Types::UpdateDeviceResponse#device #device} => Types::Device
1518
+ #
1519
+ # @example Request syntax with placeholder values
1520
+ #
1521
+ # resp = client.update_device({
1522
+ # global_network_id: "String", # required
1523
+ # device_id: "String", # required
1524
+ # description: "String",
1525
+ # type: "String",
1526
+ # vendor: "String",
1527
+ # model: "String",
1528
+ # serial_number: "String",
1529
+ # location: {
1530
+ # address: "String",
1531
+ # latitude: "String",
1532
+ # longitude: "String",
1533
+ # },
1534
+ # site_id: "String",
1535
+ # })
1536
+ #
1537
+ # @example Response structure
1538
+ #
1539
+ # resp.device.device_id #=> String
1540
+ # resp.device.device_arn #=> String
1541
+ # resp.device.global_network_id #=> String
1542
+ # resp.device.description #=> String
1543
+ # resp.device.type #=> String
1544
+ # resp.device.vendor #=> String
1545
+ # resp.device.model #=> String
1546
+ # resp.device.serial_number #=> String
1547
+ # resp.device.location.address #=> String
1548
+ # resp.device.location.latitude #=> String
1549
+ # resp.device.location.longitude #=> String
1550
+ # resp.device.site_id #=> String
1551
+ # resp.device.created_at #=> Time
1552
+ # resp.device.state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "UPDATING"
1553
+ # resp.device.tags #=> Array
1554
+ # resp.device.tags[0].key #=> String
1555
+ # resp.device.tags[0].value #=> String
1556
+ #
1557
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateDevice AWS API Documentation
1558
+ #
1559
+ # @overload update_device(params = {})
1560
+ # @param [Hash] params ({})
1561
+ def update_device(params = {}, options = {})
1562
+ req = build_request(:update_device, params)
1563
+ req.send_request(options)
1564
+ end
1565
+
1566
+ # Updates an existing global network. To remove information for any of
1567
+ # the parameters, specify an empty string.
1568
+ #
1569
+ # @option params [required, String] :global_network_id
1570
+ # The ID of your global network.
1571
+ #
1572
+ # @option params [String] :description
1573
+ # A description of the global network.
1574
+ #
1575
+ # Length Constraints: Maximum length of 256 characters.
1576
+ #
1577
+ # @return [Types::UpdateGlobalNetworkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1578
+ #
1579
+ # * {Types::UpdateGlobalNetworkResponse#global_network #global_network} => Types::GlobalNetwork
1580
+ #
1581
+ # @example Request syntax with placeholder values
1582
+ #
1583
+ # resp = client.update_global_network({
1584
+ # global_network_id: "String", # required
1585
+ # description: "String",
1586
+ # })
1587
+ #
1588
+ # @example Response structure
1589
+ #
1590
+ # resp.global_network.global_network_id #=> String
1591
+ # resp.global_network.global_network_arn #=> String
1592
+ # resp.global_network.description #=> String
1593
+ # resp.global_network.created_at #=> Time
1594
+ # resp.global_network.state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "UPDATING"
1595
+ # resp.global_network.tags #=> Array
1596
+ # resp.global_network.tags[0].key #=> String
1597
+ # resp.global_network.tags[0].value #=> String
1598
+ #
1599
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateGlobalNetwork AWS API Documentation
1600
+ #
1601
+ # @overload update_global_network(params = {})
1602
+ # @param [Hash] params ({})
1603
+ def update_global_network(params = {}, options = {})
1604
+ req = build_request(:update_global_network, params)
1605
+ req.send_request(options)
1606
+ end
1607
+
1608
+ # Updates the details for an existing link. To remove information for
1609
+ # any of the parameters, specify an empty string.
1610
+ #
1611
+ # @option params [required, String] :global_network_id
1612
+ # The ID of the global network.
1613
+ #
1614
+ # @option params [required, String] :link_id
1615
+ # The ID of the link.
1616
+ #
1617
+ # @option params [String] :description
1618
+ # A description of the link.
1619
+ #
1620
+ # Length Constraints: Maximum length of 256 characters.
1621
+ #
1622
+ # @option params [String] :type
1623
+ # The type of the link.
1624
+ #
1625
+ # Length Constraints: Maximum length of 128 characters.
1626
+ #
1627
+ # @option params [Types::Bandwidth] :bandwidth
1628
+ # The upload and download speed in Mbps.
1629
+ #
1630
+ # @option params [String] :provider
1631
+ # The provider of the link.
1632
+ #
1633
+ # Length Constraints: Maximum length of 128 characters.
1634
+ #
1635
+ # @return [Types::UpdateLinkResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1636
+ #
1637
+ # * {Types::UpdateLinkResponse#link #link} => Types::Link
1638
+ #
1639
+ # @example Request syntax with placeholder values
1640
+ #
1641
+ # resp = client.update_link({
1642
+ # global_network_id: "String", # required
1643
+ # link_id: "String", # required
1644
+ # description: "String",
1645
+ # type: "String",
1646
+ # bandwidth: {
1647
+ # upload_speed: 1,
1648
+ # download_speed: 1,
1649
+ # },
1650
+ # provider: "String",
1651
+ # })
1652
+ #
1653
+ # @example Response structure
1654
+ #
1655
+ # resp.link.link_id #=> String
1656
+ # resp.link.link_arn #=> String
1657
+ # resp.link.global_network_id #=> String
1658
+ # resp.link.site_id #=> String
1659
+ # resp.link.description #=> String
1660
+ # resp.link.type #=> String
1661
+ # resp.link.bandwidth.upload_speed #=> Integer
1662
+ # resp.link.bandwidth.download_speed #=> Integer
1663
+ # resp.link.provider #=> String
1664
+ # resp.link.created_at #=> Time
1665
+ # resp.link.state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "UPDATING"
1666
+ # resp.link.tags #=> Array
1667
+ # resp.link.tags[0].key #=> String
1668
+ # resp.link.tags[0].value #=> String
1669
+ #
1670
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateLink AWS API Documentation
1671
+ #
1672
+ # @overload update_link(params = {})
1673
+ # @param [Hash] params ({})
1674
+ def update_link(params = {}, options = {})
1675
+ req = build_request(:update_link, params)
1676
+ req.send_request(options)
1677
+ end
1678
+
1679
+ # Updates the information for an existing site. To remove information
1680
+ # for any of the parameters, specify an empty string.
1681
+ #
1682
+ # @option params [required, String] :global_network_id
1683
+ # The ID of the global network.
1684
+ #
1685
+ # @option params [required, String] :site_id
1686
+ # The ID of your site.
1687
+ #
1688
+ # @option params [String] :description
1689
+ # A description of your site.
1690
+ #
1691
+ # Length Constraints: Maximum length of 256 characters.
1692
+ #
1693
+ # @option params [Types::Location] :location
1694
+ # The site location:
1695
+ #
1696
+ # * `Address`\: The physical address of the site.
1697
+ #
1698
+ # * `Latitude`\: The latitude of the site.
1699
+ #
1700
+ # * `Longitude`\: The longitude of the site.
1701
+ #
1702
+ # @return [Types::UpdateSiteResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1703
+ #
1704
+ # * {Types::UpdateSiteResponse#site #site} => Types::Site
1705
+ #
1706
+ # @example Request syntax with placeholder values
1707
+ #
1708
+ # resp = client.update_site({
1709
+ # global_network_id: "String", # required
1710
+ # site_id: "String", # required
1711
+ # description: "String",
1712
+ # location: {
1713
+ # address: "String",
1714
+ # latitude: "String",
1715
+ # longitude: "String",
1716
+ # },
1717
+ # })
1718
+ #
1719
+ # @example Response structure
1720
+ #
1721
+ # resp.site.site_id #=> String
1722
+ # resp.site.site_arn #=> String
1723
+ # resp.site.global_network_id #=> String
1724
+ # resp.site.description #=> String
1725
+ # resp.site.location.address #=> String
1726
+ # resp.site.location.latitude #=> String
1727
+ # resp.site.location.longitude #=> String
1728
+ # resp.site.created_at #=> Time
1729
+ # resp.site.state #=> String, one of "PENDING", "AVAILABLE", "DELETING", "UPDATING"
1730
+ # resp.site.tags #=> Array
1731
+ # resp.site.tags[0].key #=> String
1732
+ # resp.site.tags[0].value #=> String
1733
+ #
1734
+ # @see http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateSite AWS API Documentation
1735
+ #
1736
+ # @overload update_site(params = {})
1737
+ # @param [Hash] params ({})
1738
+ def update_site(params = {}, options = {})
1739
+ req = build_request(:update_site, params)
1740
+ req.send_request(options)
1741
+ end
1742
+
1743
+ # @!endgroup
1744
+
1745
+ # @param params ({})
1746
+ # @api private
1747
+ def build_request(operation_name, params = {})
1748
+ handlers = @handlers.for(operation_name)
1749
+ context = Seahorse::Client::RequestContext.new(
1750
+ operation_name: operation_name,
1751
+ operation: config.api.operation(operation_name),
1752
+ client: self,
1753
+ params: params,
1754
+ config: config)
1755
+ context[:gem_name] = 'aws-sdk-networkmanager'
1756
+ context[:gem_version] = '1.0.0'
1757
+ Seahorse::Client::Request.new(handlers, context)
1758
+ end
1759
+
1760
+ # @api private
1761
+ # @deprecated
1762
+ def waiter_names
1763
+ []
1764
+ end
1765
+
1766
+ class << self
1767
+
1768
+ # @api private
1769
+ attr_reader :identifier
1770
+
1771
+ # @api private
1772
+ def errors_module
1773
+ Errors
1774
+ end
1775
+
1776
+ end
1777
+ end
1778
+ end