def main()

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


def main():
    argument_spec = common_argument_spec()
    argument_spec.update(dict(
        group_name=dict(type='str', aliases=['name']),
        lang=dict(type='str'),
        state=dict(default='present', choices=['present', 'absent']),
        group_id=dict(type='str', aliases=['id'])
    ))

    module = AnsibleModule(argument_spec=argument_spec)

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

    dns_conn = dns_connect(module)

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

    dns_group = dns_group_exists(module, dns_conn, group_name, gid)

    if state == 'absent':
        if not dns_group:
            module.exit_json(changed=changed, groups={})
        try:
            module.exit_json(changed=dns_group.delete(), groups={})
        except DNSResponseError as ex:
            module.fail_json(msg='Unable to delete dns group{0}, error: {1}'.format(dns_group.id, ex))

    if not dns_group:
        params = module.params
        try:
            dns_group = dns_conn.add_domain_group(**params)
            if dns_group:
                changed = True
            module.exit_json(changed=changed, groups=dns_group.get().read())
        except DNSResponseError as e:
            module.fail_json(msg='Unable to create dns group, error: {0}'.format(e))

    module.exit_json(changed=changed, groups=dns_group.read())