aws-sdk-globalaccelerator 1.40.0 → 1.42.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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