aws-sdk-globalaccelerator 1.40.0 → 1.42.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.
@@ -45,6 +45,7 @@ module Aws::GlobalAccelerator
45
45
  # * {InvalidPortRangeException}
46
46
  # * {LimitExceededException}
47
47
  # * {ListenerNotFoundException}
48
+ # * {TransactionInProgressException}
48
49
  #
49
50
  # Additionally, error classes are dynamically generated for service errors based on the error code
50
51
  # if they are not defined above.
@@ -322,5 +323,20 @@ module Aws::GlobalAccelerator
322
323
  end
323
324
  end
324
325
 
326
+ class TransactionInProgressException < ServiceError
327
+
328
+ # @param [Seahorse::Client::RequestContext] context
329
+ # @param [String] message
330
+ # @param [Aws::GlobalAccelerator::Types::TransactionInProgressException] data
331
+ def initialize(context, message, data = Aws::EmptyStructure.new)
332
+ super(context, message, data)
333
+ end
334
+
335
+ # @return [String]
336
+ def message
337
+ @message || @data[:message]
338
+ end
339
+ end
340
+
325
341
  end
326
342
  end
@@ -0,0 +1,166 @@
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
+
11
+ module Aws::GlobalAccelerator
12
+ module Plugins
13
+ class Endpoints < Seahorse::Client::Plugin
14
+ option(
15
+ :endpoint_provider,
16
+ doc_type: 'Aws::GlobalAccelerator::EndpointProvider',
17
+ docstring: 'The endpoint provider used to resolve endpoints. Any '\
18
+ 'object that responds to `#resolve_endpoint(parameters)` '\
19
+ 'where `parameters` is a Struct similar to '\
20
+ '`Aws::GlobalAccelerator::EndpointParameters`'
21
+ ) do |cfg|
22
+ Aws::GlobalAccelerator::EndpointProvider.new
23
+ end
24
+
25
+ # @api private
26
+ class Handler < Seahorse::Client::Handler
27
+ def call(context)
28
+ # If endpoint was discovered, do not resolve or apply the endpoint.
29
+ unless context[:discovered_endpoint]
30
+ params = parameters_for_operation(context)
31
+ endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
+
33
+ context.http_request.endpoint = endpoint.url
34
+ apply_endpoint_headers(context, endpoint.headers)
35
+ end
36
+
37
+ context[:endpoint_params] = params
38
+ context[:auth_scheme] =
39
+ Aws::Endpoints.resolve_auth_scheme(context, endpoint)
40
+
41
+ @handler.call(context)
42
+ end
43
+
44
+ private
45
+
46
+ def apply_endpoint_headers(context, headers)
47
+ headers.each do |key, values|
48
+ value = values
49
+ .compact
50
+ .map { |s| Seahorse::Util.escape_header_list_string(s.to_s) }
51
+ .join(',')
52
+
53
+ context.http_request.headers[key] = value
54
+ end
55
+ end
56
+
57
+ def parameters_for_operation(context)
58
+ case context.operation_name
59
+ when :add_custom_routing_endpoints
60
+ Aws::GlobalAccelerator::Endpoints::AddCustomRoutingEndpoints.build(context)
61
+ when :add_endpoints
62
+ Aws::GlobalAccelerator::Endpoints::AddEndpoints.build(context)
63
+ when :advertise_byoip_cidr
64
+ Aws::GlobalAccelerator::Endpoints::AdvertiseByoipCidr.build(context)
65
+ when :allow_custom_routing_traffic
66
+ Aws::GlobalAccelerator::Endpoints::AllowCustomRoutingTraffic.build(context)
67
+ when :create_accelerator
68
+ Aws::GlobalAccelerator::Endpoints::CreateAccelerator.build(context)
69
+ when :create_custom_routing_accelerator
70
+ Aws::GlobalAccelerator::Endpoints::CreateCustomRoutingAccelerator.build(context)
71
+ when :create_custom_routing_endpoint_group
72
+ Aws::GlobalAccelerator::Endpoints::CreateCustomRoutingEndpointGroup.build(context)
73
+ when :create_custom_routing_listener
74
+ Aws::GlobalAccelerator::Endpoints::CreateCustomRoutingListener.build(context)
75
+ when :create_endpoint_group
76
+ Aws::GlobalAccelerator::Endpoints::CreateEndpointGroup.build(context)
77
+ when :create_listener
78
+ Aws::GlobalAccelerator::Endpoints::CreateListener.build(context)
79
+ when :delete_accelerator
80
+ Aws::GlobalAccelerator::Endpoints::DeleteAccelerator.build(context)
81
+ when :delete_custom_routing_accelerator
82
+ Aws::GlobalAccelerator::Endpoints::DeleteCustomRoutingAccelerator.build(context)
83
+ when :delete_custom_routing_endpoint_group
84
+ Aws::GlobalAccelerator::Endpoints::DeleteCustomRoutingEndpointGroup.build(context)
85
+ when :delete_custom_routing_listener
86
+ Aws::GlobalAccelerator::Endpoints::DeleteCustomRoutingListener.build(context)
87
+ when :delete_endpoint_group
88
+ Aws::GlobalAccelerator::Endpoints::DeleteEndpointGroup.build(context)
89
+ when :delete_listener
90
+ Aws::GlobalAccelerator::Endpoints::DeleteListener.build(context)
91
+ when :deny_custom_routing_traffic
92
+ Aws::GlobalAccelerator::Endpoints::DenyCustomRoutingTraffic.build(context)
93
+ when :deprovision_byoip_cidr
94
+ Aws::GlobalAccelerator::Endpoints::DeprovisionByoipCidr.build(context)
95
+ when :describe_accelerator
96
+ Aws::GlobalAccelerator::Endpoints::DescribeAccelerator.build(context)
97
+ when :describe_accelerator_attributes
98
+ Aws::GlobalAccelerator::Endpoints::DescribeAcceleratorAttributes.build(context)
99
+ when :describe_custom_routing_accelerator
100
+ Aws::GlobalAccelerator::Endpoints::DescribeCustomRoutingAccelerator.build(context)
101
+ when :describe_custom_routing_accelerator_attributes
102
+ Aws::GlobalAccelerator::Endpoints::DescribeCustomRoutingAcceleratorAttributes.build(context)
103
+ when :describe_custom_routing_endpoint_group
104
+ Aws::GlobalAccelerator::Endpoints::DescribeCustomRoutingEndpointGroup.build(context)
105
+ when :describe_custom_routing_listener
106
+ Aws::GlobalAccelerator::Endpoints::DescribeCustomRoutingListener.build(context)
107
+ when :describe_endpoint_group
108
+ Aws::GlobalAccelerator::Endpoints::DescribeEndpointGroup.build(context)
109
+ when :describe_listener
110
+ Aws::GlobalAccelerator::Endpoints::DescribeListener.build(context)
111
+ when :list_accelerators
112
+ Aws::GlobalAccelerator::Endpoints::ListAccelerators.build(context)
113
+ when :list_byoip_cidrs
114
+ Aws::GlobalAccelerator::Endpoints::ListByoipCidrs.build(context)
115
+ when :list_custom_routing_accelerators
116
+ Aws::GlobalAccelerator::Endpoints::ListCustomRoutingAccelerators.build(context)
117
+ when :list_custom_routing_endpoint_groups
118
+ Aws::GlobalAccelerator::Endpoints::ListCustomRoutingEndpointGroups.build(context)
119
+ when :list_custom_routing_listeners
120
+ Aws::GlobalAccelerator::Endpoints::ListCustomRoutingListeners.build(context)
121
+ when :list_custom_routing_port_mappings
122
+ Aws::GlobalAccelerator::Endpoints::ListCustomRoutingPortMappings.build(context)
123
+ when :list_custom_routing_port_mappings_by_destination
124
+ Aws::GlobalAccelerator::Endpoints::ListCustomRoutingPortMappingsByDestination.build(context)
125
+ when :list_endpoint_groups
126
+ Aws::GlobalAccelerator::Endpoints::ListEndpointGroups.build(context)
127
+ when :list_listeners
128
+ Aws::GlobalAccelerator::Endpoints::ListListeners.build(context)
129
+ when :list_tags_for_resource
130
+ Aws::GlobalAccelerator::Endpoints::ListTagsForResource.build(context)
131
+ when :provision_byoip_cidr
132
+ Aws::GlobalAccelerator::Endpoints::ProvisionByoipCidr.build(context)
133
+ when :remove_custom_routing_endpoints
134
+ Aws::GlobalAccelerator::Endpoints::RemoveCustomRoutingEndpoints.build(context)
135
+ when :remove_endpoints
136
+ Aws::GlobalAccelerator::Endpoints::RemoveEndpoints.build(context)
137
+ when :tag_resource
138
+ Aws::GlobalAccelerator::Endpoints::TagResource.build(context)
139
+ when :untag_resource
140
+ Aws::GlobalAccelerator::Endpoints::UntagResource.build(context)
141
+ when :update_accelerator
142
+ Aws::GlobalAccelerator::Endpoints::UpdateAccelerator.build(context)
143
+ when :update_accelerator_attributes
144
+ Aws::GlobalAccelerator::Endpoints::UpdateAcceleratorAttributes.build(context)
145
+ when :update_custom_routing_accelerator
146
+ Aws::GlobalAccelerator::Endpoints::UpdateCustomRoutingAccelerator.build(context)
147
+ when :update_custom_routing_accelerator_attributes
148
+ Aws::GlobalAccelerator::Endpoints::UpdateCustomRoutingAcceleratorAttributes.build(context)
149
+ when :update_custom_routing_listener
150
+ Aws::GlobalAccelerator::Endpoints::UpdateCustomRoutingListener.build(context)
151
+ when :update_endpoint_group
152
+ Aws::GlobalAccelerator::Endpoints::UpdateEndpointGroup.build(context)
153
+ when :update_listener
154
+ Aws::GlobalAccelerator::Endpoints::UpdateListener.build(context)
155
+ when :withdraw_byoip_cidr
156
+ Aws::GlobalAccelerator::Endpoints::WithdrawByoipCidr.build(context)
157
+ end
158
+ end
159
+ end
160
+
161
+ def add_handlers(handlers, _config)
162
+ handlers.add(Handler, step: :build, priority: 75)
163
+ end
164
+ end
165
+ end
166
+ end
@@ -52,12 +52,12 @@ module Aws::GlobalAccelerator
52
52
  # a1234567890abcdef.awsglobalaccelerator.com.
53
53
  #
54
54
  # If you have a dual-stack accelerator, you also have a second DNS
55
- # name, DualStackDnsName, that points to both the A record and the
56
- # AAAA record for all four static addresses for the accelerator (two
57
- # IPv4 addresses and two IPv6 addresses).
55
+ # name, `DualStackDnsName`, that points to both the A record and the
56
+ # AAAA record for all four static addresses for the accelerator: two
57
+ # IPv4 addresses and two IPv6 addresses.
58
58
  #
59
59
  # For more information about the default DNS name, see [ Support for
60
- # DNS Addressing in Global Accelerator][1] in the *Global Accelerator
60
+ # DNS addressing in Global Accelerator][1] in the *Global Accelerator
61
61
  # Developer Guide*.
62
62
  #
63
63
  #
@@ -87,10 +87,10 @@ module Aws::GlobalAccelerator
87
87
  # followed by .dualstack.awsglobalaccelerator.com. For example:
88
88
  # a1234567890abcdef.dualstack.awsglobalaccelerator.com.
89
89
  #
90
- # Note: Global Accelerator also assigns a default DNS name, DnsName,
90
+ # Note: Global Accelerator also assigns a default DNS name, `DnsName`,
91
91
  # to your accelerator that points just to the static IPv4 addresses.
92
92
  #
93
- # For more information, see [ Support for DNS Addressing in Global
93
+ # For more information, see [ Support for DNS addressing in Global
94
94
  # Accelerator][1] in the *Global Accelerator Developer Guide*.
95
95
  #
96
96
  #
@@ -277,6 +277,54 @@ module Aws::GlobalAccelerator
277
277
  include Aws::Structure
278
278
  end
279
279
 
280
+ # @note When making an API call, you may pass AddEndpointsRequest
281
+ # data as a hash:
282
+ #
283
+ # {
284
+ # endpoint_configurations: [ # required
285
+ # {
286
+ # endpoint_id: "GenericString",
287
+ # weight: 1,
288
+ # client_ip_preservation_enabled: false,
289
+ # },
290
+ # ],
291
+ # endpoint_group_arn: "GenericString", # required
292
+ # }
293
+ #
294
+ # @!attribute [rw] endpoint_configurations
295
+ # The list of endpoint objects.
296
+ # @return [Array<Types::EndpointConfiguration>]
297
+ #
298
+ # @!attribute [rw] endpoint_group_arn
299
+ # The Amazon Resource Name (ARN) of the endpoint group.
300
+ # @return [String]
301
+ #
302
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/AddEndpointsRequest AWS API Documentation
303
+ #
304
+ class AddEndpointsRequest < Struct.new(
305
+ :endpoint_configurations,
306
+ :endpoint_group_arn)
307
+ SENSITIVE = []
308
+ include Aws::Structure
309
+ end
310
+
311
+ # @!attribute [rw] endpoint_descriptions
312
+ # The list of endpoint objects.
313
+ # @return [Array<Types::EndpointDescription>]
314
+ #
315
+ # @!attribute [rw] endpoint_group_arn
316
+ # The Amazon Resource Name (ARN) of the endpoint group.
317
+ # @return [String]
318
+ #
319
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/AddEndpointsResponse AWS API Documentation
320
+ #
321
+ class AddEndpointsResponse < Struct.new(
322
+ :endpoint_descriptions,
323
+ :endpoint_group_arn)
324
+ SENSITIVE = []
325
+ include Aws::Structure
326
+ end
327
+
280
328
  # @note When making an API call, you may pass AdvertiseByoipCidrRequest
281
329
  # data as a hash:
282
330
  #
@@ -1183,12 +1231,12 @@ module Aws::GlobalAccelerator
1183
1231
  # a1234567890abcdef.awsglobalaccelerator.com.
1184
1232
  #
1185
1233
  # If you have a dual-stack accelerator, you also have a second DNS
1186
- # name, DualStackDnsName, that points to both the A record and the
1187
- # AAAA record for all four static addresses for the accelerator (two
1188
- # IPv4 addresses and two IPv6 addresses).
1234
+ # name, `DualStackDnsName`, that points to both the A record and the
1235
+ # AAAA record for all four static addresses for the accelerator: two
1236
+ # IPv4 addresses and two IPv6 addresses.
1189
1237
  #
1190
1238
  # For more information about the default DNS name, see [ Support for
1191
- # DNS Addressing in Global Accelerator][1] in the *Global Accelerator
1239
+ # DNS addressing in Global Accelerator][1] in the *Global Accelerator
1192
1240
  # Developer Guide*.
1193
1241
  #
1194
1242
  #
@@ -2216,6 +2264,46 @@ module Aws::GlobalAccelerator
2216
2264
  include Aws::Structure
2217
2265
  end
2218
2266
 
2267
+ # A complex type for an endpoint. Specifies information about the
2268
+ # endpoint to remove from the endpoint group.
2269
+ #
2270
+ # @note When making an API call, you may pass EndpointIdentifier
2271
+ # data as a hash:
2272
+ #
2273
+ # {
2274
+ # endpoint_id: "GenericString", # required
2275
+ # client_ip_preservation_enabled: false,
2276
+ # }
2277
+ #
2278
+ # @!attribute [rw] endpoint_id
2279
+ # An ID for the endpoint. If the endpoint is a Network Load Balancer
2280
+ # or Application Load Balancer, this is the Amazon Resource Name (ARN)
2281
+ # of the resource. If the endpoint is an Elastic IP address, this is
2282
+ # the Elastic IP address allocation ID. For Amazon EC2 instances, this
2283
+ # is the EC2 instance ID.
2284
+ #
2285
+ # An Application Load Balancer can be either internal or
2286
+ # internet-facing.
2287
+ # @return [String]
2288
+ #
2289
+ # @!attribute [rw] client_ip_preservation_enabled
2290
+ # Indicates whether client IP address preservation is enabled for an
2291
+ # endpoint. The value is true or false.
2292
+ #
2293
+ # If the value is set to true, the client's IP address is preserved
2294
+ # in the `X-Forwarded-For` request header as traffic travels to
2295
+ # applications on the endpoint fronted by the accelerator.
2296
+ # @return [Boolean]
2297
+ #
2298
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/EndpointIdentifier AWS API Documentation
2299
+ #
2300
+ class EndpointIdentifier < Struct.new(
2301
+ :endpoint_id,
2302
+ :client_ip_preservation_enabled)
2303
+ SENSITIVE = []
2304
+ include Aws::Structure
2305
+ end
2306
+
2219
2307
  # The endpoint that you specified doesn't exist.
2220
2308
  #
2221
2309
  # @!attribute [rw] message
@@ -3079,6 +3167,36 @@ module Aws::GlobalAccelerator
3079
3167
  include Aws::Structure
3080
3168
  end
3081
3169
 
3170
+ # @note When making an API call, you may pass RemoveEndpointsRequest
3171
+ # data as a hash:
3172
+ #
3173
+ # {
3174
+ # endpoint_identifiers: [ # required
3175
+ # {
3176
+ # endpoint_id: "GenericString", # required
3177
+ # client_ip_preservation_enabled: false,
3178
+ # },
3179
+ # ],
3180
+ # endpoint_group_arn: "GenericString", # required
3181
+ # }
3182
+ #
3183
+ # @!attribute [rw] endpoint_identifiers
3184
+ # The identifiers of the endpoints that you want to remove.
3185
+ # @return [Array<Types::EndpointIdentifier>]
3186
+ #
3187
+ # @!attribute [rw] endpoint_group_arn
3188
+ # The Amazon Resource Name (ARN) of the endpoint group.
3189
+ # @return [String]
3190
+ #
3191
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/RemoveEndpointsRequest AWS API Documentation
3192
+ #
3193
+ class RemoveEndpointsRequest < Struct.new(
3194
+ :endpoint_identifiers,
3195
+ :endpoint_group_arn)
3196
+ SENSITIVE = []
3197
+ include Aws::Structure
3198
+ end
3199
+
3082
3200
  # An IP address/port combination.
3083
3201
  #
3084
3202
  # @!attribute [rw] ip_address
@@ -3161,6 +3279,20 @@ module Aws::GlobalAccelerator
3161
3279
  #
3162
3280
  class TagResourceResponse < Aws::EmptyStructure; end
3163
3281
 
3282
+ # There's already a transaction in progress. Another transaction can't
3283
+ # be processed.
3284
+ #
3285
+ # @!attribute [rw] message
3286
+ # @return [String]
3287
+ #
3288
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/TransactionInProgressException AWS API Documentation
3289
+ #
3290
+ class TransactionInProgressException < Struct.new(
3291
+ :message)
3292
+ SENSITIVE = []
3293
+ include Aws::Structure
3294
+ end
3295
+
3164
3296
  # @note When making an API call, you may pass UntagResourceRequest
3165
3297
  # data as a hash:
3166
3298
  #
@@ -13,9 +13,13 @@ require 'aws-sigv4'
13
13
 
14
14
  require_relative 'aws-sdk-globalaccelerator/types'
15
15
  require_relative 'aws-sdk-globalaccelerator/client_api'
16
+ require_relative 'aws-sdk-globalaccelerator/plugins/endpoints.rb'
16
17
  require_relative 'aws-sdk-globalaccelerator/client'
17
18
  require_relative 'aws-sdk-globalaccelerator/errors'
18
19
  require_relative 'aws-sdk-globalaccelerator/resource'
20
+ require_relative 'aws-sdk-globalaccelerator/endpoint_parameters'
21
+ require_relative 'aws-sdk-globalaccelerator/endpoint_provider'
22
+ require_relative 'aws-sdk-globalaccelerator/endpoints'
19
23
  require_relative 'aws-sdk-globalaccelerator/customizations'
20
24
 
21
25
  # This module provides support for AWS Global Accelerator. This module is available in the
@@ -48,6 +52,6 @@ require_relative 'aws-sdk-globalaccelerator/customizations'
48
52
  # @!group service
49
53
  module Aws::GlobalAccelerator
50
54
 
51
- GEM_VERSION = '1.40.0'
55
+ GEM_VERSION = '1.42.0'
52
56
 
53
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-globalaccelerator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.40.0
4
+ version: 1.42.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-27 00:00:00.000000000 Z
11
+ date: 2022-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.127.0
22
+ version: 3.165.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.127.0
32
+ version: 3.165.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -59,7 +59,11 @@ files:
59
59
  - lib/aws-sdk-globalaccelerator/client.rb
60
60
  - lib/aws-sdk-globalaccelerator/client_api.rb
61
61
  - lib/aws-sdk-globalaccelerator/customizations.rb
62
+ - lib/aws-sdk-globalaccelerator/endpoint_parameters.rb
63
+ - lib/aws-sdk-globalaccelerator/endpoint_provider.rb
64
+ - lib/aws-sdk-globalaccelerator/endpoints.rb
62
65
  - lib/aws-sdk-globalaccelerator/errors.rb
66
+ - lib/aws-sdk-globalaccelerator/plugins/endpoints.rb
63
67
  - lib/aws-sdk-globalaccelerator/resource.rb
64
68
  - lib/aws-sdk-globalaccelerator/types.rb
65
69
  homepage: https://github.com/aws/aws-sdk-ruby