mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-25 06:10:22 -07:00
[cloud] new module - AWS Direct Connect virtual interface (#33211)
* Add an AWS Direct Connect virtual interface module Fix DirectConnectError exception wrapper to be compatible with fail_json_aws() * Fix documentation and handle BotoCoreErrors as well * Add the aws and ec2 documentation fragments
This commit is contained in:
parent
e98e757ec4
commit
6dda001a8c
4 changed files with 505 additions and 25 deletions
|
@ -38,12 +38,10 @@ from ansible.module_utils.ec2 import camel_dict_to_snake_dict
|
|||
|
||||
|
||||
class DirectConnectError(Exception):
|
||||
def __init__(self, msg, last_traceback=None, response=None):
|
||||
response = {} if response is None else response
|
||||
|
||||
def __init__(self, msg, last_traceback=None, exception=None):
|
||||
self.msg = msg
|
||||
self.last_traceback = last_traceback
|
||||
self.response = camel_dict_to_snake_dict(response)
|
||||
self.exception = exception
|
||||
|
||||
|
||||
def delete_connection(client, connection_id):
|
||||
|
@ -52,7 +50,7 @@ def delete_connection(client, connection_id):
|
|||
except botocore.exceptions.ClientError as e:
|
||||
raise DirectConnectError(msg="Failed to delete DirectConnection {0}.".format(connection_id),
|
||||
last_traceback=traceback.format_exc(),
|
||||
response=e.response)
|
||||
exception=e)
|
||||
|
||||
|
||||
def associate_connection_and_lag(client, connection_id, lag_id):
|
||||
|
@ -63,7 +61,7 @@ def associate_connection_and_lag(client, connection_id, lag_id):
|
|||
raise DirectConnectError(msg="Failed to associate Direct Connect connection {0}"
|
||||
" with link aggregation group {1}.".format(connection_id, lag_id),
|
||||
last_traceback=traceback.format_exc(),
|
||||
response=e.response)
|
||||
exception=e)
|
||||
|
||||
|
||||
def disassociate_connection_and_lag(client, connection_id, lag_id):
|
||||
|
@ -74,7 +72,7 @@ def disassociate_connection_and_lag(client, connection_id, lag_id):
|
|||
raise DirectConnectError(msg="Failed to disassociate Direct Connect connection {0}"
|
||||
" from link aggregation group {1}.".format(connection_id, lag_id),
|
||||
last_traceback=traceback.format_exc(),
|
||||
response=e.response)
|
||||
exception=e)
|
||||
|
||||
|
||||
def delete_virtual_interface(client, virtual_interface):
|
||||
|
@ -83,4 +81,4 @@ def delete_virtual_interface(client, virtual_interface):
|
|||
except botocore.exceptions.ClientError as e:
|
||||
raise DirectConnectError(msg="Could not delete virtual interface {0}".format(virtual_interface),
|
||||
last_traceback=traceback.format_exc(),
|
||||
response=e.response)
|
||||
exception=e)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue