Skip to content

Commit

Permalink
Fixes
Browse files Browse the repository at this point in the history
Signed-off-by: Alina Buzachis <[email protected]>
  • Loading branch information
alinabuzachis committed Oct 3, 2024
1 parent bb9400c commit f946f12
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 40 deletions.
26 changes: 3 additions & 23 deletions plugins/module_utils/ec2.py
Original file line number Diff line number Diff line change
Expand Up @@ -1307,22 +1307,13 @@ def _is_missing(cls):
return is_boto3_error_code("InvalidGatewayID.NotFound")


@EC2TransitGatewayVPCAttachmentErrorHandler.common_error_handler("describe transit gateway attachments")
@AWSRetry.jittered_backoff()
def paginated_describe_transit_gateway_vpc_attachments(
client, **params: Dict[str, Union[List[str], bool, List[Dict[str, Union[str, List[str]]]]]]
) -> Dict[str, Any]:
paginator = client.get_paginator("describe_transit_gateway_vpc_attachments")
return paginator.paginate(**params).build_full_result()


@EC2TransitGatewayVPCAttachmentErrorHandler.common_error_handler("describe transit gateway attachments")
@AWSRetry.jittered_backoff()
def describe_vpc_attachments(
client, **params: Dict[str, Union[List[str], bool, List[Dict[str, Union[str, List[str]]]]]]
) -> Optional[List[Dict[str, Any]]]:
result = client._paginated_describe_transit_gateway_vpc_attachments(**params)
return result.get("TransitGatewayVpcAttachments", None)
) -> List:
paginator = client.get_paginator("describe_transit_gateway_vpc_attachments")
return paginator.paginate(**params).build_full_result()["TransitGatewayVpcAttachments"]


@EC2TransitGatewayVPCAttachmentErrorHandler.common_error_handler("create transit gateway vpc attachment")
Expand Down Expand Up @@ -1352,17 +1343,6 @@ def delete_vpc_attachment(
return result.get("TransitGatewayVpcAttachment", None)


def get_tgw_vpc_attachment(client, **params: Any) -> Optional[Dict[str, Any]]:
# Only for use with a single attachment, use describe_vpc_attachments for
# multiple tables.
attachments = client.describe_vpc_attachments(**params)
if not attachments:
return None

attachment = attachments[0]
return attachment


def add_ec2_tags(client, module, resource_id, tags_to_set, retry_codes=None):
"""
Sets Tags on an EC2 resource.
Expand Down
40 changes: 23 additions & 17 deletions plugins/module_utils/waiters.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,43 +52,49 @@
],
},
"TGWVpcAttachmentAvailable": {
"operation": "DescribeTransitGatewayAttachments",
"operation": "DescribeTransitGatewayVpcAttachments",
"delay": 5,
"maxAttempts": 120,
"acceptors": [
{
"expected": "available",
"matcher": "pathAll",
"state": "available",
"argument": "TransitGatewayAttachments[].State",
"state": "success",
"argument": "TransitGatewayVpcAttachments[].State",
},
{
"state": "retry",
"matcher": "pathAny",
"argument": "TransitGatewayVpcAttachments[].State",
"expected": "pending",
},
{"matcher": "error", "expected": "InvalidRouteTableID.NotFound", "state": "retry"},
],
},
"TGWVpcAttachmentDeleted": {
"operation": "DescribeTransitGatewayAttachments",
"operation": "DescribeTransitGatewayVpcAttachments",
"delay": 5,
"maxAttempts": 120,
"acceptors": [
{
"expected": "retry",
"state": "retry",
"matcher": "pathAll",
"state": "deleting",
"argument": "TransitGatewayAttachments[].State",
"argument": "TransitGatewayVpcAttachments[].State",
"expected": "deleting",
},
{
"expected": "success",
"state": "success",
"expected": "deleted",
"matcher": "pathAll",
"state": "deleted",
"argument": "TransitGatewayAttachments[].State",
"argument": "TransitGatewayVpcAttachments[].State",
},
{
"expected": "success",
"matcher": "pathAll",
"state": True,
"argument": "length(TransitGatewayAttachments[]) == `0`",
"expected": True,
"matcher": "path",
"state": "success",
"argument": "length(TransitGatewayVpcAttachments[]) == `0`",
},
{"matcher": "success", "expected": "InvalidRouteTableID.NotFound", "state": "retry"},
{"matcher": "error", "expected": "InvalidRouteTableID.NotFound", "state": "retry"},
],
},
"NetworkInterfaceAttached": {
Expand Down Expand Up @@ -817,12 +823,12 @@ def route53_model(name):
("EC2", "transit_gateway_vpc_attachment_available"): lambda ec2: core_waiter.Waiter(
"transit_gateway_vpc_attachment_available",
ec2_model("TGWVpcAttachmentAvailable"),
core_waiter.NormalizedOperationMethod(ec2.describe_vpc_attachments),
core_waiter.NormalizedOperationMethod(ec2.describe_transit_gateway_vpc_attachments),
),
("EC2", "transit_gateway_vpc_attachment_deleted"): lambda ec2: core_waiter.Waiter(
"transit_gateway_vpc_attachment_deleted",
ec2_model("TGWVpcAttachmentDeleted"),
core_waiter.NormalizedOperationMethod(ec2.describe_vpc_attachments),
core_waiter.NormalizedOperationMethod(ec2.describe_transit_gateway_vpc_attachments),
),
("EC2", "network_interface_attached"): lambda ec2: core_waiter.Waiter(
"network_interface_attached",
Expand Down

0 comments on commit f946f12

Please sign in to comment.