ecs_composex.cloudmap package

Submodules

ecs_composex.cloudmap.cloudmap_ecs module

class ecs_composex.cloudmap.cloudmap_ecs. EcsDiscoveryService ( family , namespace , config , settings ) [source]

Bases: object

Manages CloudMap Service Discovery service for a given family

property attributes_properties : dict
property ecs_service_registry : ServiceRegistry
property sd_family_parameter : Parameter
property sd_service : Service
set_update_attribute ( attribute , dest_stack ) [source]

Adds the parameter to the destination stack, updates the parameters, and returns the parameter pointer

Parameters :
Returns :

ecs_composex.cloudmap.cloudmap_ecs. create_registry ( family , namespace , config , settings ) [source]

Creates the settings for the ECS Service Registries and adds the resources to the appropriate template

ecs_composex.cloudmap.cloudmap_helpers module

ecs_composex.cloudmap.cloudmap_helpers. detect_duplicas ( x_resources ) [source]

Function to ensure there is no multiple resources with the same zone name

Parameters :

x_resources ( list [ PrivateNamespace ] ) –

Return type :

None

ecs_composex.cloudmap.cloudmap_helpers. lookup_service_discovery_namespace ( zone , session , ns_id = None ) [source]

Function to find and get the PrivateDnsNamespace properties needed by other resources

Parameters :
Returns :

The properties we need

Return type :

dict

ecs_composex.cloudmap.cloudmap_helpers. resolve_lookup ( lookup_resources , settings , module ) [source]

Lookup the ACM certificates in AWS and creates the CFN mappings for them

Parameters :
ecs_composex.cloudmap.cloudmap_helpers. x_cloud_lookup_and_new_vpc ( settings , vpc_stack ) [source]

Function to ensure there is no x-cloudmap.Lookup resource and Compose-X is creating a new VPC. The Namespace (CloudMap PrivateNamespace) cannot span across multiple VPC

Parameters :
Raises :

IncompatibleOptions

ecs_composex.cloudmap.cloudmap_module module

ecs_composex.cloudmap.cloudmap_params module

Module for AWS CloudMap

ecs_composex.cloudmap.cloudmap_stack module

Main module for ACM

class ecs_composex.cloudmap.cloudmap_stack. PrivateNamespace ( name , definition , module , settings ) [source]

Bases: AwsEnvironmentResource

Class specifically for ACM Certificate

Variables :

records ( list [ Record ] ) – List of DNS Records to create with the DNS Zone

add_initialized_stack_to_root ( stack_initialized , root_stack ) [source]
Return type :

None

handle_x_dependencies ( settings , root_stack = None ) [source]

Allows to find resources that one wants to register in AWS CloudMap

Parameters :
Return type :

None

property hosted_zone_id
init_outputs ( ) [source]

Returns the properties outputs mappings.

init_stack_for_resources ( settings ) [source]

When creating new CloudMap records, if the x-cloudmap where looked up, we need to initialize the CloudMap stack

Return type :

None

lookup_resource ( arn_re , native_lookup_function , cfn_resource_type , tagging_api_id , subattribute_key = None , use_arn_for_id = False ) [source]

Special lookup for Route53. Only needs

Parameters :
  • arn_re ( re.Pattern ) –

  • native_lookup_function

  • cfn_resource_type

  • tagging_api_id

  • subattribute_key

Returns :

property namespace_id
to_ecs ( settings , modules , root_stack = None ) [source]

Maps ECS Services to the CloudMap for ServiceDiscovery Service

Return type :

None

property zone_dns_name
class ecs_composex.cloudmap.cloudmap_stack. XStack ( name , settings , module , ** kwargs ) [source]

Bases: ComposeXStack

Root stack for x-cloudmap

Parameters :

settings ( ecs_composex.common.settings.ComposeXSettings ) –

ecs_composex.cloudmap.cloudmap_stack. define_new_namespace ( new_namespaces , stack_template ) [source]

Creates new AWS CloudMap namespaces and associates it with the stack template

Parameters :
  • new_namespaces ( list [ PrivateNamespace ] ) – list of PrivateNamespace to process

  • stack_template ( troposphere.Template ) – The template to add the new resources to

ecs_composex.cloudmap.cloudmap_x_resources module

Manage the registration of x-resources into AWS CloudMap namespace

ecs_composex.cloudmap.cloudmap_x_resources. handle_resource_cloudmap_settings ( namespace , resource , cloudmap_settings , settings ) [source]

Function to handle x-cloudmap.{} settings

Return type :

None

ecs_composex.cloudmap.cloudmap_x_resources. process_additional_attributes ( additional_attributes , instance_props ) [source]

Processes the ReturnValues attributes to assign to an instance.

Parameters :
  • additional_attributes ( dict ) –

  • instance_props ( dict ) –

ecs_composex.cloudmap.cloudmap_x_resources. process_dns_config ( namespace , resource , dns_settings , settings , service , instance ) [source]

Process the DnsSettings of the x-cloudmap configuration

Return type :

None

ecs_composex.cloudmap.cloudmap_x_resources. process_return_values ( namespace , resource , return_values , instance_props , settings ) [source]

Processes the ReturnValues attributes to assign to an instance.

Parameters :

Module contents