#!/usr/bin/python DOCUMENTATION = r''' --- module: decort_zone 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 DecortZone(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: zone_model = self.api.cloudapi.zone.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='zone', id=self.id, ) ) self.exit(fail=True) raise e self.facts = zone_model.model_dump() def main(): DecortZone().run() if __name__ == '__main__': main()