def main()

in src/ansible_collections/alibaba/apsarastack/plugins/modules/ali_dns_domain.py [0:0]


def main():
    argument_spec = common_argument_spec()
    argument_spec.update(dict(
        domain_name=dict(type='str', aliases=['name'], required=True),
        group_name=dict(type='str'),
        lang=dict(type='str'),
        resource_group_id=dict(type='str'),
        remark=dict(type='str'),
        state=dict(default='present', choices=['present', 'absent']),
        user_client_ip=dict(type='str')
    ))

    module = AnsibleModule(argument_spec=argument_spec)

    if HAS_FOOTMARK is False:
        module.fail_json(
            msg='footmark required for the module ali_dns_domain.')

    dns_conn = dns_connect(module)

    # Get values of variable
    state = module.params['state']
    domain_name = module.params['domain_name']
    remark = module.params['remark']
    group_name = module.params['group_name']
    changed = False

    # Check if VPC exists
    dns = dns_exists_v2(module, dns_conn, domain_name)

    if state == 'absent':
        if not dns:
            module.exit_json(changed=changed, dns={})
        try:
            dns_id = dns["Id"]
            dns_delete_v2(module, dns_conn, dns_id)
            module.exit_json(changed=True, dns={})
        except DNSResponseError as ex:
            module.fail_json(
                msg='Unable to delete dns {0}, error: {1}'.format(dns.id, ex))

    if not dns:
        params = module.params
        params_add = {"Name": params["domain_name"]}
        try:
            dns = add_domains_v2(module, dns_conn, params_add)
            if dns:
                changed = False
        except DNSResponseError as e:
            module.fail_json(msg='Unable to create dns, error: {0}'.format(e))

    # if domain_name and group_name:
    #     try:
    #         res = dns.change_domain_group(group_name=group_name, domain_name=domain_name)
    #         if res:
    #             changed = True
    #     except DNSResponseError as e:
    #         module.fail_json(msg='Unable to change domain group, error: {0}'.format(e))

    if remark:
        try:
            dns = modify_remark_v2(
                module, dns_conn, module.params["domain_name"], remark)
            if dns:
                changed = True
        except DNSResponseError as e:
            module.fail_json(
                msg='Unable to modify dns remark, error: {0}'.format(e))
    module.exit_json(changed=changed, dns=dns)