ecs_composex.elbv2.elbv2_stack package

Subpackages

Submodules

ecs_composex.elbv2.elbv2_stack.elbv2 module

class ecs_composex.elbv2.elbv2_stack.elbv2. Elbv2 ( name , definition , module , settings ) [source]

Bases: NetworkXResource

Class to handle ELBv2 creation and mapping to ECS Services

associate_to_template ( template ) [source]

Method to associate all resources to the template

Parameters :

template ( troposphere.Template ) –

Returns :

define_override_subnets ( subnets , vpc_stack ) [source]

Method to define the subnets overrides to use for the LB

Parameters :
  • subnets – The original subnets to replace

  • vpc_stack ( ecs_composex.vpc.vpc_stack.VpcStack ) –

Returns :

the subnet name to use

Return type :

str

find_lookup_listeners ( ) [source]

Method to lookup the listeners defined in the definition and sets them up. Will use them to add to the LB mappings

init_outputs ( ) [source]

Placeholder method

is_alb ( ) [source]
is_nlb ( ) [source]
property lb_type : str
parse_attributes_settings ( ) [source]

Method to parse pre-defined settings for shortcuts

Returns :

the lb attributes mappings

Return type :

list

set_eips ( vpc_stack ) [source]
Parameters :

vpc_stack ( ecs_composex.vpc.vpc_stack.VpcStack ) –

Returns :

set_lb_attributes ( ) [source]

Method to define the LB attributes

Returns :

List of LB Attributes

Return type :

list

set_lb_definition ( ) [source]

Function to parse the LB settings and properties and build the LB object

Parameters :

settings ( ecs_composex.common.settings.ComposeXSettings ) –

set_listeners ( template ) [source]

Method to define the listeners :return:

set_services_targets ( settings ) [source]

Method to map services and families targets of the services defined. TargetStructure: (family, family_wide, services[], access)

Parameters :

settings ( ecs_composex.common.settings.ComposeXSettings ) –

Returns :

set_subnet_mappings ( vpc_stack ) [source]

For NLB, defines the EC2 EIP and Subnets Mappings to use. Determines the number of EIP to produce from the VPC Settings.

set_subnets ( vpc_stack ) [source]

Method to define which subnets to use for the

Parameters :

vpc_stack ( ecs_composex.vpc.vpc_stack.VpcStack ) –

Returns :

sort_alb_ingress ( settings , stack_template ) [source]

Method to handle Ingress to ALB

sort_props ( ) [source]
sort_sg ( ) [source]
subnets_param = <ecs_composex.common.cfn_params.Parameter object>
update_from_vpc ( vpc_stack , settings = None ) [source]

Override to set the specific resources right once we have a VPC Definition

Parameters :
validate_services ( ) [source]

ecs_composex.elbv2.elbv2_stack.helpers module

ecs_composex.elbv2.elbv2_stack.helpers. add_acm_certs_arn ( listener , src_value , settings , listener_stack ) [source]

Function to add Certificate to Listener with input from manual ARN entry :type listener: :param listener: :param str src_value: :type settings: :param settings: :type listener_stack: :param listener_stack: :return:

ecs_composex.elbv2.elbv2_stack.helpers. add_extra_certificate ( listener_stack , listener , cert_arn ) [source]

Function to add Certificates to listener

Parameters :
  • listener_stack – The stack that “owns” the listener.

  • listener – The listener to add the certificate to

  • cert_arn – The identifier of the certificate

ecs_composex.elbv2.elbv2_stack.helpers. add_listener_certificate_via_arn ( listener_stack , listener , certificate_arn_id , cert_name ) [source]

Adds a new ListenerCertificate for a given listener.

ListenerCertificate can only take 1 certificate in the list !!

Parameters :
Return type :

None

ecs_composex.elbv2.elbv2_stack.helpers. define_actions ( listener , target_def , rule_actions = False ) [source]

Function to identify the Target definition and create the resulting rule appropriately.

Parameters :
Return type :

list

Returns :

The action to add or action list for default target

ecs_composex.elbv2.elbv2_stack.helpers. define_listener_rules_actions ( listener , left_services ) [source]

Function to identify the Target definition and create the resulting rule appropriately.

Return type :

list [ troposphere.elasticloadbalancingv2.ListenerRule ]

ecs_composex.elbv2.elbv2_stack.helpers. define_target_conditions ( definition ) [source]

Function to create the conditions for forward to target

Parameters :

definition ( dict ) –

Returns :

list of conditions

Return type :

list

ecs_composex.elbv2.elbv2_stack.helpers. handle_cross_zone ( value ) [source]

Handles MacroParamters for cross-zone.

Return type :

troposphere.elasticloadbalancingv2.LoadBalancerAttributes

ecs_composex.elbv2.elbv2_stack.helpers. handle_default_actions ( listener ) [source]

Handles default actions set on the listener

Return type :

None

ecs_composex.elbv2.elbv2_stack.helpers. handle_desync_mitigation_mode ( value ) [source]

Handles MacroParamters for desync mitigation.

Return type :

troposphere.elasticloadbalancingv2.LoadBalancerAttributes

ecs_composex.elbv2.elbv2_stack.helpers. handle_drop_invalid_headers ( value ) [source]

Handles MacroParamters for drop invalid headers.

Return type :

troposphere.elasticloadbalancingv2.LoadBalancerAttributes

ecs_composex.elbv2.elbv2_stack.helpers. handle_http2 ( value ) [source]

Handles MacroParamters for HTTP2.

Return type :

troposphere.elasticloadbalancingv2.LoadBalancerAttributes

ecs_composex.elbv2.elbv2_stack.helpers. handle_import_cognito_pool ( the_pool , listener_stack , settings ) [source]

Function to map AWS Cognito Pool to attributes

Return type :

tuple

ecs_composex.elbv2.elbv2_stack.helpers. handle_non_default_services ( listener ) [source]

Function to handle define the listener rule and identify

Return type :

list

ecs_composex.elbv2.elbv2_stack.helpers. handle_predefined_redirects ( listener , action_name ) [source]

Function to handle predefined redirects

Return type :

None

ecs_composex.elbv2.elbv2_stack.helpers. handle_string_condition_format ( access_string ) [source]

Function to parse and understand what type of condition that is. Uses the Access parameter of the Target inside a Listener Supported : * path based * domain name

Parameters :

access_string

Return type :

list

Returns :

ecs_composex.elbv2.elbv2_stack.helpers. handle_timeout_seconds ( timeout_seconds ) [source]

Handles MacroParamters for timeout.

Return type :

troposphere.elasticloadbalancingv2.LoadBalancerAttributes

ecs_composex.elbv2.elbv2_stack.helpers. http_to_https_default ( default_of_all = False ) [source]

Predefined rule to redirect HTTP to HTTPS

Return type :

troposphere.elasticloadbalancingv2.Action

ecs_composex.elbv2.elbv2_stack.helpers. import_cognito_pool ( src_name , settings , listener_stack ) [source]

Function to Import an Cognito Pool defined in x-cognito_pool

ecs_composex.elbv2.elbv2_stack.helpers. import_new_acm_certs ( listener , src_name , settings , listener_stack ) [source]

Function to Import an ACM Certificate defined in x-acm

Parameters :
  • listener

  • src_name

  • settings

  • listener_stack

Returns :

ecs_composex.elbv2.elbv2_stack.helpers. map_service_target ( lb , listener_service_def ) [source]

Function to iterate over targets to map the service and its defined TargetGroup ARN

Return type :

None

ecs_composex.elbv2.elbv2_stack.helpers. match_target_group_to_listener_target ( target_group , listener_service_def , target_parts ) [source]
Return type :

bool

ecs_composex.elbv2.elbv2_stack.helpers. tea_pot ( default_of_all = False ) [source]

Predefined reply for ALB config rule, returning HTTP Tea Pot

Return type :

troposphere.elasticloadbalancingv2.Action

ecs_composex.elbv2.elbv2_stack.helpers. upgrade_listener_to_use_tls ( listener ) [source]

Function to rectify the listener type when adding cert

Parameters :

listener ( ecs_composex.elbv2.elbv2_stack.elbv2_listener.ComposeListener ) –

Raises :

ValueError if trying to set TLS for UDP

ecs_composex.elbv2.elbv2_stack.helpers. validate_duplicate_targets ( lb , listener ) [source]
Return type :

None

ecs_composex.elbv2.elbv2_stack.helpers. validate_listeners_duplicates ( name , ports ) [source]

Ensures values are correct for ports used in Listeners

Parameters :
  • name

  • ports

Return type :

None

Returns :

Module contents

Module to handle elbv2.

class ecs_composex.elbv2.elbv2_stack. XStack ( title , settings , module , ** kwargs ) [source]

Bases: ComposeXStack

Class to handle ELBv2 resources

ecs_composex.elbv2.elbv2_stack. init_elbv2_template ( ) [source]

Function to create a new root ELBv2 stack :return: