'Build the module argument spec from the helper.argspec, removing any extra attributes not needed by
Ansible.
:return: dict: a valid Ansible argument spec'

@property
def argspec(self):

    if (not self.argspec_cache):
        spec = {'dry_run': {'type': 'bool', 'default': False, 'description': ['If    set    to    C(True)    the    module    will    exit    without    executing    any    action.Useful    to    only    generate    YAML    file    definitions    for    the    resources    in    the    tasks.']}}
        for (arg_name, arg_properties) in self.helper.argspec.items():
            spec[arg_name] = {}
            for (option, option_value) in arg_properties.items():
                if (option not in ARG_ATTRIBUTES_BLACKLIST):
                    if (option == 'choices'):
                        if isinstance(option_value, dict):
                            spec[arg_name]['choices'] = [value for (key, value) in option_value.items()]
                        else:
                            spec[arg_name]['choices'] = option_value
                    else:
                        spec[arg_name][option] = option_value
        self.argspec_cache = spec
    return self.argspec_cache
