diff --git a/plugins/module_utils/transitgateway.py b/plugins/module_utils/transitgateway.py index e81fa45e32b..55e0fa35ddc 100644 --- a/plugins/module_utils/transitgateway.py +++ b/plugins/module_utils/transitgateway.py @@ -4,34 +4,35 @@ # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) from copy import deepcopy + try: from botocore.exceptions import BotoCoreError from botocore.exceptions import ClientError except ImportError: pass -from typing import NoReturn, Optional -from typing import Dict from typing import Any +from typing import Dict from typing import List - -from .modules import AnsibleAWSModule -from ansible_collections.amazon.aws.plugins.module_utils.waiters import get_waiter - -from ansible_collections.amazon.aws.plugins.module_utils.transformation import ansible_dict_to_boto3_filter_list +from typing import NoReturn +from typing import Optional from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AnsibleEC2Error -from ansible_collections.amazon.aws.plugins.module_utils.ec2 import describe_vpc_attachments from ansible_collections.amazon.aws.plugins.module_utils.ec2 import create_vpc_attachment -from ansible_collections.amazon.aws.plugins.module_utils.ec2 import modify_vpc_attachment from ansible_collections.amazon.aws.plugins.module_utils.ec2 import delete_vpc_attachment -from ansible_collections.amazon.aws.plugins.module_utils.ec2 import get_tgw_vpc_attachment +from ansible_collections.amazon.aws.plugins.module_utils.ec2 import describe_subnets +from ansible_collections.amazon.aws.plugins.module_utils.ec2 import describe_vpc_attachments from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ensure_ec2_tags +from ansible_collections.amazon.aws.plugins.module_utils.ec2 import get_tgw_vpc_attachment +from ansible_collections.amazon.aws.plugins.module_utils.ec2 import modify_vpc_attachment from ansible_collections.amazon.aws.plugins.module_utils.modules import AnsibleAWSModule -from ansible_collections.amazon.aws.plugins.module_utils.ec2 import describe_subnets from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_specifications +from ansible_collections.amazon.aws.plugins.module_utils.transformation import ansible_dict_to_boto3_filter_list from ansible_collections.amazon.aws.plugins.module_utils.transformation import boto3_resource_to_ansible_dict +from ansible_collections.amazon.aws.plugins.module_utils.waiters import get_waiter + +from .modules import AnsibleAWSModule class TransitGatewayVpcAttachmentManager: @@ -95,7 +96,14 @@ def set_option(self, name: str, value: Optional[bool]) -> bool: def set_tags(self, tags: Dict[str, Any], purge_tags: bool) -> NoReturn: if self.id: - self.changed |= ensure_ec2_tags(self.connection, self.module, self.id, resource_type=self.TAG_RESOURCE_TYPE, tags=tags, purge_tags=purge_tags) + self.changed |= ensure_ec2_tags( + self.connection, + self.module, + self.id, + resource_type=self.TAG_RESOURCE_TYPE, + tags=tags, + purge_tags=purge_tags, + ) def set_resource_value(self, key, value, description: Optional[str] = None, immutable: bool = False): if value is None: @@ -185,7 +193,9 @@ def set_subnets(self, subnets: Optional[List[str]] = None, purge: bool = True) - self.set_resource_value("SubnetIds", list(desired_subnets)) return True - def subnets_to_vpc(self, subnets: List[str], subnet_details: Optional[List[Dict[str, Any]]] = None) -> Optional[str]: + def subnets_to_vpc( + self, subnets: List[str], subnet_details: Optional[List[Dict[str, Any]]] = None + ) -> Optional[str]: if not subnets: return None @@ -213,7 +223,7 @@ def merge_resource_changes(self, filter_immutable=True, creation=False): resource = self.filter_immutable_resource_attributes(resource) if creation: - tags = boto3_tag_list_to_ansible_dict(resource.pop('Tags', [])) + tags = boto3_tag_list_to_ansible_dict(resource.pop("Tags", [])) tag_specs = boto3_tag_specifications(tags, types=[self.TAG_RESOURCE_TYPE]) if tag_specs: resource["TagSpecifications"] = tag_specs diff --git a/plugins/modules/ec2_transit_gateway_vpc_attachment.py b/plugins/modules/ec2_transit_gateway_vpc_attachment.py index 622ab8eddb4..79a1f9a17da 100644 --- a/plugins/modules/ec2_transit_gateway_vpc_attachment.py +++ b/plugins/modules/ec2_transit_gateway_vpc_attachment.py @@ -213,7 +213,7 @@ - The ID of the account that the VPC belongs to. type: str returned: success - example: "1234567890122 + example: "1234567890122" """ from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule @@ -259,8 +259,8 @@ def handle_vpc_attachments(conn, module: AnsibleAWSModule) -> None: attach_id = attachments[0]["transit_gateway_attachment_id"] manager = TransitGatewayVpcAttachmentManager(module=module, id=attach_id) - manager.set_wait(module.params.get('wait', None)) - manager.set_wait_timeout(module.params.get('wait_timeout', None)) + manager.set_wait(module.params.get("wait", None)) + manager.set_wait_timeout(module.params.get("wait_timeout", None)) if state == "absent": manager.delete()