ecs_composex.sqs package

Submodules

ecs_composex.sqs.sqs_ecs_scaling module

Module to apply SQS settings onto ECS Services

ecs_composex.sqs.sqs_ecs_scaling. add_alarm_for_resource ( resource , target , scaling_out_policy , scaling_in_policy , resource_parameter ) [source]

Function to add the Alarm for SQS resource to the service template

Parameters :
  • resource ( ecs_composex.common.compose_resources.XResource ) –

  • target ( tuple ) –

  • scaling_out_policy

  • scaling_in_policy

  • resource_parameter

Returns :

ecs_composex.sqs.sqs_ecs_scaling. handle_service_scaling ( resource , settings = None ) [source]

Function to define and prepare settings for scaling rules based for SQS Queues discovered through lookup

Parameters :
  • resource ( ecs_composex.compose.x_resources.ServicesXResource ) –

  • settings ( ecs_composex.common. ) –

Raises :

KeyError – if the service name is not a listed service in docker-compose.

Return type :

None

Returns :

ecs_composex.sqs.sqs_helpers module

ecs_composex.sqs.sqs_helpers. get_queue_config ( queue , account_id , resource_id ) [source]
Parameters :
Return type :

dict | None

ecs_composex.sqs.sqs_helpers. resolve_lookup ( lookup_resources , settings , module ) [source]

Lookup AWS Resource

Parameters :

ecs_composex.sqs.sqs_module module

ecs_composex.sqs.sqs_params module

ecs_composex.sqs.sqs_s3 module

Manages updating the S3 notifications to new x-sqs queues.

ecs_composex.sqs.sqs_s3. add_queue_policy ( queue ) [source]
ecs_composex.sqs.sqs_s3. map_queue_with_bucket_notification ( queue , bucket , queue_notification , settings ) [source]

Maps the queue to the Queue queue_notification property

Parameters :
Return type :

None

ecs_composex.sqs.sqs_s3. s3_to_sqs_notifications ( queue , bucket , settings ) [source]

Updates the notification Queue property it is the x-sqs queue

Parameters :
Return type :

None

ecs_composex.sqs.sqs_s3. update_new_bucket_properties ( queue , bucket , settings ) [source]
Return type :

None

ecs_composex.sqs.sqs_sqs module

File to manage sqs to sqs dependency for dead letter queue

ecs_composex.sqs.sqs_sqs. sqs_to_sqs ( queue , source_queue , settings ) [source]
Parameters :
Return type :

None

ecs_composex.sqs.sqs_sqs. update_target_queue_pointer ( queue , source_queue , settings ) [source]

Updates the deadLetterTargetArn of redrive policy with the appropriate Queue ARN

Return type :

None

ecs_composex.sqs.sqs_stack module

Module for the XStack SQS

class ecs_composex.sqs.sqs_stack. Queue ( name , definition , module , settings ) [source]

Bases: ApiXResource

Class to represent a SQS Queue

handle_x_dependencies ( settings , root_stack ) [source]
Return type :

None

init_outputs ( ) [source]

Init output properties for a new resource

class ecs_composex.sqs.sqs_stack. XStack ( title , settings , module , ** kwargs ) [source]

Bases: ComposeXStack

Class to handle SQS Root stack related actions

do_validation : bool
properties : Dict[str, Any]
propnames : Set[str]
resource : Dict[str, Any]
template : Optional[Template]
title : Optional[str]

ecs_composex.sqs.sqs_template module

ecs_composex.sqs.sqs_template. add_aws_services_queue_policy ( queue ) [source]
ecs_composex.sqs.sqs_template. add_queue_default_policy ( queue ) [source]
ecs_composex.sqs.sqs_template. define_queue_properties ( queue ) [source]

Function to parse the queue definition and generate the queue accordingly. Created the redrive policy if necessary

Parameters :

queue ( ecs_composex.common.compose_resources.Queue ) – name of the queue

Returns :

queue

Return type :

troposphere.sqs.Queue

ecs_composex.sqs.sqs_template. render_new_queues ( settings , new_queues , xstack , template ) [source]

Sets the new SQS Queue properties. In case there are so many queues that there would not be enough outputs, split into 1 stack per queue

Parameters :
  • settings

  • new_queues

  • xstack

  • template

Module contents