:py:mod:`tests.system.providers.amazon.aws.example_ecs_fargate`
===============================================================

.. py:module:: tests.system.providers.amazon.aws.example_ecs_fargate


Module Contents
---------------


Functions
~~~~~~~~~

.. autoapisummary::

   tests.system.providers.amazon.aws.example_ecs_fargate.create_cluster
   tests.system.providers.amazon.aws.example_ecs_fargate.register_task_definition
   tests.system.providers.amazon.aws.example_ecs_fargate.delete_task_definition
   tests.system.providers.amazon.aws.example_ecs_fargate.delete_cluster



Attributes
~~~~~~~~~~

.. autoapisummary::

   tests.system.providers.amazon.aws.example_ecs_fargate.DAG_ID
   tests.system.providers.amazon.aws.example_ecs_fargate.SUBNETS_KEY
   tests.system.providers.amazon.aws.example_ecs_fargate.SECURITY_GROUPS_KEY
   tests.system.providers.amazon.aws.example_ecs_fargate.sys_test_context_task
   tests.system.providers.amazon.aws.example_ecs_fargate.test_context
   tests.system.providers.amazon.aws.example_ecs_fargate.test_run


.. py:data:: DAG_ID
   :annotation: = example_ecs_fargate

   

.. py:data:: SUBNETS_KEY
   :annotation: = SUBNETS

   

.. py:data:: SECURITY_GROUPS_KEY
   :annotation: = SECURITY_GROUPS

   

.. py:data:: sys_test_context_task
   

   

.. py:function:: create_cluster(cluster_name)

   Creates an ECS cluster.


.. py:function:: register_task_definition(task_name, container_name)

   Creates a Task Definition.


.. py:function:: delete_task_definition(task_definition_arn)

   Deletes the Task Definition.


.. py:function:: delete_cluster(cluster_name)

   Deletes the ECS cluster.


.. py:data:: test_context
   

   

.. py:data:: test_run
   

   

