---
argument_spec:
  config_manager_file:
    description:
      - Configures either a playbook relative or absolute path to the
        file containing the device configuration.  This value will be passed
        to the provider and loaded onto the target device.  This argument is
        mutually exclusive with `config_manager_text`.

  config_manager_text:
    description:
      - Specifies the configuration to be loaded onto the target device.  This
        argument should be a string value.  It will be based to the provider
        for loading.  This argument is mutually exclusive with `config_manager_file`

  config_manager_scm_url:
    descrption:
      - Configures a SCM URL to retrieve the host configuration files from.
        This value will checkout the config file from the SCM system and then
        search for a valid configuration file that corresponds to the
        target host based on the value of inventory_hostname_short.

  config_manager_scm_file:
    description:
      - This setting overrides the default search path for the configuration
        filename when using config_manager_scm_url.  The value in for this
        argument should be relative to the root of the SCM checkout.

  config_manager_replace:
    descriptiion:
      - This setting indicates whether or not the provided configuration file
        should be merged or replace the current configuration file on the
        target device.
    type: bool
    default: False

  ansible_network_provider:
    description:
      - This value is used to determine the correct role to implement the
        load_config function.  The network device provider role is responsible
        for performing the actual implementation of the load_config function.
        The specified role must be installed and accesible via the configured
        ansible_role_path setting.
    required: True

mutually_exclusive:
  - ['config_manager_file', 'config_manager_text', 'config_manager_scm_url']

required_one_of:
  - ['config_manager_file', 'config_manager_text', 'config_manager_scm_url']
