# File lib/aws/elb/load_balancer_policy_collection.rb, line 21 def initialize load_balancer, options = {} @load_balancer = load_balancer super end
@param [String] policy_name The name of the policy to return. @return [LoadBalancerPolicy] Returns a reference to the load balancer
policy with the given name.
# File lib/aws/elb/load_balancer_policy_collection.rb, line 184 def [] policy_name LoadBalancerPolicy.new(load_balancer, policy_name) end
Creates a new load balancer policy that contains the necessary attributes depending on the policy type. Policies are settings that are saved for your load balancer and that can be applied to the front-end listener, or the back-end application server, depending on your policy type.
To apply a policy to a front-end listener:
# each listener may only have a single policy load_balancer.listener[80].policy = listener_policy
To apply a policy to backend instance port
# back end servers can have multiple policies per instance port load_balancer.backend_server_policies.add(80, back_end_policy)
@param [String] name The name of the policy being created. The name
must be unique within the set of policies for this load balancer.
@param [String] type The policy type name. Valid values inlucde:
* 'PublicKeyPolicyType' * 'AppCookieStickinessPolicyType' * 'LBCookieStickinessPolicyType' * 'SSLNegotiationPolicyType' * 'BackendServerAuthenticationPolicyType'
@param [Hash] attributes A hash of policy attributes. Each policy
type accepts a different list of hash options. Below each policy type name is listed with its list of accepted options. Attributes that accept more than one value should be provided as an array of values. Hash keys should be attribute names, values may be single values or arrays of values. PublicKeyPolicyType Policy containing a list of public keys to accept when authenticating the back-end server(s). This policy cannot be applied directly to back-end servers or listeners but must be part of a BackendServerAuthenticationPolicyType. * 'PublicKey', String, one AppCookieStickinessPolicyType Stickiness policy with session lifetimes controlled by the lifetime of the application-generated cookie. This policy can be associated only with HTTP/HTTPS listeners. * 'CookieName', String, one LBCookieStickinessPolicyType Stickiness policy with session lifetimes controlled by the browser (user-agent) or a specified expiration period. This policy can be associated only with HTTP/HTTPS listeners. * 'CookieExpirationPeriod', Long, zero or one SSLNegotiationPolicyType Listener policy that defines the ciphers and protocols that will be accepted by the load balancer. This policy can be associated only with HTTPS/SSL listeners. * 'Protocol-SSLv2', Boolean, zero or one * 'Protocol-TLSv1', Boolean, zero or one * 'Protocol-SSLv3', Boolean, zero or one * 'DHE-RSA-AES256-SHA', Boolean, zero or one * 'DHE-DSS-AES256-SHA', Boolean, zero or one * 'DHE-RSA-CAMELLIA256-SHA', Boolean, zero or one * 'DHE-DSS-CAMELLIA256-SHA', Boolean, zero or one * 'ADH-AES256-SHA', Boolean, zero or one * 'ADH-CAMELLIA256-SHA', Boolean, zero or one * 'AES256-SHA', Boolean, zero or one * 'CAMELLIA256-SHA', Boolean, zero or one * 'PSK-AES256-CBC-SHA', Boolean, zero or one * 'EDH-RSA-DES-CBC3-SHA', Boolean, zero or one * 'EDH-DSS-DES-CBC3-SHA', Boolean, zero or one * 'ADH-DES-CBC3-SHA', Boolean, zero or one * 'DES-CBC3-SHA', Boolean, zero or one * 'DES-CBC3-MD5', Boolean, zero or one * 'PSK-3DES-EDE-CBC-SHA', Boolean, zero or one * 'KRB5-DES-CBC3-SHA', Boolean, zero or one * 'KRB5-DES-CBC3-MD5', Boolean, zero or one * 'DHE-RSA-AES128-SHA', Boolean, zero or one * 'DHE-DSS-AES128-SHA', Boolean, zero or one * 'DHE-RSA-SEED-SHA', Boolean, zero or one * 'DHE-DSS-SEED-SHA', Boolean, zero or one * 'DHE-RSA-CAMELLIA128-SHA', Boolean, zero or one * 'DHE-DSS-CAMELLIA128-SHA', Boolean, zero or one * 'ADH-AES128-SHA', Boolean, zero or one * 'ADH-SEED-SHA', Boolean, zero or one * 'ADH-CAMELLIA128-SHA', Boolean, zero or one * 'AES128-SHA', Boolean, zero or one * 'SEED-SHA', Boolean, zero or one * 'CAMELLIA128-SHA', Boolean, zero or one * 'RC2-CBC-MD5', Boolean, zero or one * 'PSK-AES128-CBC-SHA', Boolean, zero or one * 'ADH-RC4-MD5', Boolean, zero or one * 'IDEA-CBC-SHA', Boolean, zero or one * 'RC4-SHA', Boolean, zero or one * 'RC4-MD5', Boolean, zero or one * 'PSK-RC4-SHA', Boolean, zero or one * 'KRB5-RC4-SHA', Boolean, zero or one * 'KRB5-RC4-MD5', Boolean, zero or one * 'EDH-RSA-DES-CBC-SHA', Boolean, zero or one * 'EDH-DSS-DES-CBC-SHA', Boolean, zero or one * 'ADH-DES-CBC-SHA', Boolean, zero or one * 'DES-CBC-SHA', Boolean, zero or one * 'DES-CBC-MD5', Boolean, zero or one * 'KRB5-DES-CBC-SHA', Boolean, zero or one * 'KRB5-DES-CBC-MD5', Boolean, zero or one * 'EXP-EDH-RSA-DES-CBC-SHA', Boolean, zero or one * 'EXP-EDH-DSS-DES-CBC-SHA', Boolean, zero or one * 'EXP-ADH-DES-CBC-SHA', Boolean, zero or one * 'EXP-DES-CBC-SHA', Boolean, zero or one * 'EXP-RC2-CBC-MD5', Boolean, zero or one * 'EXP-KRB5-RC2-CBC-SHA', Boolean, zero or one * 'EXP-KRB5-DES-CBC-SHA', Boolean, zero or one * 'EXP-KRB5-RC2-CBC-MD5', Boolean, zero or one * 'EXP-KRB5-DES-CBC-MD5', Boolean, zero or one * 'EXP-ADH-RC4-MD5', Boolean, zero or one * 'EXP-RC4-MD5', Boolean, zero or one * 'EXP-KRB5-RC4-SHA', Boolean, zero or one * 'EXP-KRB5-RC4-MD5', Boolean, zero or one BackendServerAuthenticationPolicyType Policy that controls authentication to back-end server(s) and contains one or more policies, such as an instance of a PublicKeyPolicyType. This policy can be associated only with back-end servers that are using HTTPS/SSL. * 'PublicKeyPolicyName', PolicyName, one or more
@return [nil]
# File lib/aws/elb/load_balancer_policy_collection.rb, line 158 def create name, type, attributes = {} attribute_list = [] attributes.each do |attr_name,values| [values].flatten.each do |value| attribute_list << { :attribute_name => attr_name, :attribute_value => value.to_s } end end client.create_load_balancer_policy( :load_balancer_name => load_balancer.name, :policy_name => name.to_s, :policy_type_name => type.to_s, :policy_attributes => attribute_list) LoadBalancerPolicy.new(load_balancer, name, :type => type.to_s) end
# File lib/aws/elb/load_balancer_policy_collection.rb, line 189 def _each_item options = {}, &block options[:load_balancer_name] = load_balancer.name response = client.describe_load_balancer_policies(options) response.policy_descriptions.each do |desc| load_balancer_policy = LoadBalancerPolicy.new_from( :describe_load_balancer_policies, desc, load_balancer, desc.policy_name) yield(load_balancer_policy) end end