def METHOD_NAME():
    argument_spec = dict(
        state=dict(type="str", choices=["present", "absent"], default="present"),
        identifier=dict(type="str", required=True),
        description=dict(type="str", required=True),
        subnet_ids=dict(type="list", elements="str", required=True),
    )
    module = AnsibleAWSModule(argument_spec=argument_spec, supports_check_mode=True)
    exit_message = None
    changed = False
    state = module.params.get("state")
    dmsclient = module.client("dms")
    subnet_group = describe_subnet_group(dmsclient, module.params.get("identifier"))
    if state == "present":
        if replication_subnet_exists(subnet_group):
            if compare_params(module, subnet_group["ReplicationSubnetGroups"][0]):
                if not module.check_mode:
                    exit_message = modify_replication_subnet_group(module, dmsclient)
                else:
                    exit_message = dmsclient
                changed = True
            else:
                exit_message = "No changes to Subnet group"
        else:
            if not module.check_mode:
                exit_message = create_replication_subnet_group(module, dmsclient)
                changed = True
            else:
                exit_message = "Check mode enabled"
    elif state == "absent":
        if replication_subnet_exists(subnet_group):
            if not module.check_mode:
                replication_subnet_group_delete(module, dmsclient)
                changed = True
                exit_message = "Replication subnet group Deleted"
            else:
                exit_message = dmsclient
                changed = True
        else:
            changed = False
            exit_message = "Replication subnet group does not exist"
    module.exit_json(changed=changed, msg=exit_message)