#!/usr/bin/python DOCUMENTATION = r''' --- module: decort_trunk description: See L(Module Documentation,https://repository.basistech.ru/BASIS/decort-ansible/wiki/Home). # noqa: E501 ''' from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.decort_utils import DecortController from dynamix_sdk import exceptions as sdk_exceptions class DecortTrunk(DecortController): def __init__(self): super().__init__(AnsibleModule(**self.amodule_init_args)) self.id: int = self.aparams['id'] @property def amodule_init_args(self) -> dict: return self.pack_amodule_init_args( argument_spec=dict( id=dict( type='int', required=True, ), ), supports_check_mode=True, ) @DecortController.handle_sdk_exceptions def run(self): self.get_info() self.exit() def get_info(self): try: trunk_model = self.api.cloudapi.trunk.get( id=self.id ) except sdk_exceptions.RequestException as e: if ( e.orig_exception.response and e.orig_exception.response.status_code == 404 ): self.message( self.MESSAGES.obj_not_found( obj='trunk', id=self.id, ) ) self.exit(fail=True) raise e self.facts = trunk_model.model_dump() def main(): DecortTrunk().run() if __name__ == '__main__': main()