aws-sdk-elasticloadbalancing 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.
@@ -0,0 +1,126 @@
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::ElasticLoadBalancing
12
+ module Plugins
13
+ class Endpoints < Seahorse::Client::Plugin
14
+ option(
15
+ :endpoint_provider,
16
+ doc_type: 'Aws::ElasticLoadBalancing::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::ElasticLoadBalancing::EndpointParameters`'
21
+ ) do |cfg|
22
+ Aws::ElasticLoadBalancing::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_tags
60
+ Aws::ElasticLoadBalancing::Endpoints::AddTags.build(context)
61
+ when :apply_security_groups_to_load_balancer
62
+ Aws::ElasticLoadBalancing::Endpoints::ApplySecurityGroupsToLoadBalancer.build(context)
63
+ when :attach_load_balancer_to_subnets
64
+ Aws::ElasticLoadBalancing::Endpoints::AttachLoadBalancerToSubnets.build(context)
65
+ when :configure_health_check
66
+ Aws::ElasticLoadBalancing::Endpoints::ConfigureHealthCheck.build(context)
67
+ when :create_app_cookie_stickiness_policy
68
+ Aws::ElasticLoadBalancing::Endpoints::CreateAppCookieStickinessPolicy.build(context)
69
+ when :create_lb_cookie_stickiness_policy
70
+ Aws::ElasticLoadBalancing::Endpoints::CreateLBCookieStickinessPolicy.build(context)
71
+ when :create_load_balancer
72
+ Aws::ElasticLoadBalancing::Endpoints::CreateLoadBalancer.build(context)
73
+ when :create_load_balancer_listeners
74
+ Aws::ElasticLoadBalancing::Endpoints::CreateLoadBalancerListeners.build(context)
75
+ when :create_load_balancer_policy
76
+ Aws::ElasticLoadBalancing::Endpoints::CreateLoadBalancerPolicy.build(context)
77
+ when :delete_load_balancer
78
+ Aws::ElasticLoadBalancing::Endpoints::DeleteLoadBalancer.build(context)
79
+ when :delete_load_balancer_listeners
80
+ Aws::ElasticLoadBalancing::Endpoints::DeleteLoadBalancerListeners.build(context)
81
+ when :delete_load_balancer_policy
82
+ Aws::ElasticLoadBalancing::Endpoints::DeleteLoadBalancerPolicy.build(context)
83
+ when :deregister_instances_from_load_balancer
84
+ Aws::ElasticLoadBalancing::Endpoints::DeregisterInstancesFromLoadBalancer.build(context)
85
+ when :describe_account_limits
86
+ Aws::ElasticLoadBalancing::Endpoints::DescribeAccountLimits.build(context)
87
+ when :describe_instance_health
88
+ Aws::ElasticLoadBalancing::Endpoints::DescribeInstanceHealth.build(context)
89
+ when :describe_load_balancer_attributes
90
+ Aws::ElasticLoadBalancing::Endpoints::DescribeLoadBalancerAttributes.build(context)
91
+ when :describe_load_balancer_policies
92
+ Aws::ElasticLoadBalancing::Endpoints::DescribeLoadBalancerPolicies.build(context)
93
+ when :describe_load_balancer_policy_types
94
+ Aws::ElasticLoadBalancing::Endpoints::DescribeLoadBalancerPolicyTypes.build(context)
95
+ when :describe_load_balancers
96
+ Aws::ElasticLoadBalancing::Endpoints::DescribeLoadBalancers.build(context)
97
+ when :describe_tags
98
+ Aws::ElasticLoadBalancing::Endpoints::DescribeTags.build(context)
99
+ when :detach_load_balancer_from_subnets
100
+ Aws::ElasticLoadBalancing::Endpoints::DetachLoadBalancerFromSubnets.build(context)
101
+ when :disable_availability_zones_for_load_balancer
102
+ Aws::ElasticLoadBalancing::Endpoints::DisableAvailabilityZonesForLoadBalancer.build(context)
103
+ when :enable_availability_zones_for_load_balancer
104
+ Aws::ElasticLoadBalancing::Endpoints::EnableAvailabilityZonesForLoadBalancer.build(context)
105
+ when :modify_load_balancer_attributes
106
+ Aws::ElasticLoadBalancing::Endpoints::ModifyLoadBalancerAttributes.build(context)
107
+ when :register_instances_with_load_balancer
108
+ Aws::ElasticLoadBalancing::Endpoints::RegisterInstancesWithLoadBalancer.build(context)
109
+ when :remove_tags
110
+ Aws::ElasticLoadBalancing::Endpoints::RemoveTags.build(context)
111
+ when :set_load_balancer_listener_ssl_certificate
112
+ Aws::ElasticLoadBalancing::Endpoints::SetLoadBalancerListenerSSLCertificate.build(context)
113
+ when :set_load_balancer_policies_for_backend_server
114
+ Aws::ElasticLoadBalancing::Endpoints::SetLoadBalancerPoliciesForBackendServer.build(context)
115
+ when :set_load_balancer_policies_of_listener
116
+ Aws::ElasticLoadBalancing::Endpoints::SetLoadBalancerPoliciesOfListener.build(context)
117
+ end
118
+ end
119
+ end
120
+
121
+ def add_handlers(handlers, _config)
122
+ handlers.add(Handler, step: :build, priority: 75)
123
+ end
124
+ end
125
+ end
126
+ end