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_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 :
-
-
attribute (
ecs_composex.common.cfn_params.Parameter
) – -
dest_stack (
ecs_composex.common.stacks.ComposeXStack
) –
-
- Returns :
-
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 :
-
-
zone ( PrivateNamespace ) –
-
session ( boto3.session.Session ) –
-
ns_id ( str ) –
-
- 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 :
-
-
lookup_resources ( list [ HostedZone ] ) – List of resources to lookup
-
settings ( ecs_composex.common.settings.ComposeXSettings ) –
-
module ( XResourceModule ) –
-
- 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 :
-
-
settings ( ecs_composex.common.settings.ComposeXSettings ) –
-
vpc_stack (
ecs_composex.vpc.vpc_stack.XStack
) – The VPC Stack
-
- 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
- handle_x_dependencies ( settings , root_stack = None ) [source] ¶
-
Allows to find resources that one wants to register in AWS CloudMap
- Parameters :
-
-
settings ( ecs_composex.common.settings.ComposeXSettings ) –
-
root_stack ( ecs_composex.common.stacks.ComposeXStack ) –
-
- Return type :
-
None
- property hosted_zone_id ¶
- 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 :
-
-
namespace (
ecs_composex.cloudmap.cloudmap_stack.PrivateNamespace
) – -
resource ( ecs_composex.compose.x_resources.XResource ) –
-
return_values ( dict ) –
-
instance_props ( dict ) –
-
settings ( ecs_composex.common.settings.ComposeXSettings ) –
-