def pytest_addoption(parser):
    """Add options for interaction with Splunk this allows the tool to work in two modes
    1) docker mode which is typically used by developers on their workstation
        manages a single instance of splunk
    2) external interacts with a single instance of splunk that is lifecycle managed
        by another process such as a ci/cd pipeline
    """
    group = parser.getgroup('splunk-addon')
    group.addoption('--splunk-app', action='store', dest='splunk_app',
        default='package', help=
        'Path to Splunk app package. The package should have the configuration files in the default folder.'
        )
    group.addoption('--splunk-type', action='store', dest='splunk_type',
        default='external', help=
        'Type of the Splunk instance. supports external & docker as a value. Default is external.'
        )
    group.addoption('--splunk-host', action='store', dest='splunk_host',
        default='127.0.0.1', help=
        'Address of the Splunk Server. Do not provide http scheme in the host. default is 127.0.0.1'
        )
    group.addoption('--splunk-hec-scheme', action='store', dest=
        'splunk_hec_scheme', default='https', help=
        'Splunk HTTP event collector port. default is https.')
    group.addoption('--splunk-hec-port', action='store', dest='splunk_hec',
        default='8088', help=
        'Splunk HTTP event collector port. default is 8088.')
    group.addoption('--splunk-hec-token', action='store', dest=
        'splunk_hec_token', default='9b741d03-43e9-4164-908b-e09102327d22',
        help=
        'Splunk HTTP event collector token. default is "9b741d03-43e9-4164-908b-e09102327d22".'
        )
    group.addoption('--splunk-port', action='store', dest='splunkd_port',
        default='8089', help='Splunk Management port. default is 8089.')
    group.addoption('--splunk-s2s-port', action='store', dest='splunk_s2s',
        default='9997', help='Splunk s2s port. default is 9997.')
    group.addoption('--splunk-s2s-scheme', action='store', dest=
        'splunk_s2s_scheme', default='tcp', help=
        'Splunk s2s scheme. tls|tcp default is tcp.')
    group.addoption('--splunkweb-port', action='store', dest='splunk_web',
        default='8000', help='Splunk web port. default is 8000.')
    group.addoption('--splunk-user', action='store', dest='splunk_user',
        default='admin', help=
        'Splunk login user. The user should have search capabilities.')
    group.addoption('--splunk-password', action='store', dest=
        'splunk_password', default='Chang3d!', help=
        'Password of the Splunk user')
    group.addoption('--splunk-version', action='store', dest=
        'splunk_version', default='latest', help=
        'Splunk version to spin up with docker while splunk-type  is set to docker. Examples,  1) latest: latest Splunk Enterprise tagged by the https://github.com/splunk/docker-splunk 2) 8.0.0: GA release of 8.0.0.'
        )
    group.addoption('--splunk-dm-path', action='store', dest=
        'splunk_dm_path', help=
        'Path to the datamodels directoryRelative or absolute path can be provided.Json files are expected in the directory.Json files must follow the schema mentioned in DatamodelSchema.jsonpytest-splunk-addon\\pytest_splunk_addon\\standard_lib\\cim_tests\\DatamodelSchema.json'
        )
