#!/usr/bin/env python
#
# Copyright 2017 the original author or authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

class Constants:
    SSH_SUBSYSTEM = "netconf"

    # Send message max size
    MAXSSHBUF = 1024 * 1024

    # Secure credentials directories
    # TODO:  In a production environment these locations require better
    # protection.  For now the user_passwords file is just a plain text file.
    KEYS_DIRECTORY = 'security/keys'
    CERTS_DIRECTORY = 'security/certificates'
    CLIENT_CRED_DIRECTORY = 'security/client_credentials'

    # YANG message definition file - generated file
    YANG_MESSAGE_DEFINITIONS_FILE='yang_message_defs.py'

    # Generated YANG schemas to ignore as not used by Netconf client
    SCHEMAS_TO_IGNORE =['http.yang', 'yang_options.yang', 'descriptor.yang']

    # Datastores
    RUNNING = "running"
    CANDIDATE = "candidate"
    STARTUP = "startup"

    # RPC - base netconf
    GET = "get"
    GET_CONFIG = "get-config"
    COPY_CONFIG = "copy-config"
    EDIT_CONFIG = "edit-config"
    DELETE_CONFIG = "delete-config"
    LOCK = "lock"
    UNLOCK = "unlock"
    CLOSE_SESSION = "close-session"
    KILL_SESSION = "kill-session"

    # Operations
    OPERATION = "operation"
    DEFAULT_OPERATION = "default-operation"
    MERGE = "merge"
    REPLACE = "replace"
    CREATE = "create"
    DELETE = "delete"
    NONE = "none"

    # Netconf namespaces
    NETCONF_BASE_10 = "urn:ietf:params:netconf:base:1.0"
    NETCONF_BASE_11 = "urn:ietf:params:netconf:base:1.1"
    NETCONF_MONITORING = "urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring"
    NETCONF_WRITABLE = "urn:ietf:params:netconf:capability:writable-running:1.0"

    # XML
    XML_HEADER = """<?xml version="1.0" encoding="utf-8"?>"""

    # Capability xpath
    CAPABILITY_XPATH = "//nc:hello/nc:capabilities/nc:capability"
    RPC_XPATH = "/nc:rpc"

    NC_SOURCE = "nc:source"
    SOURCE = "source"
    TARGET = "target"
    CONFIG = "config"

    TEST_OPTION = "test-option"
    TEST_THEN_SET = "test-then-set"
    SET = "set"

    ERROR_OPTION = "error-option"
    STOP_ON_ERROR = "stop-on-error"
    CONTINUE_ON_ERROR = "continue-on-error"
    ROLLBACK_ON_ERROR = "rollback-on-error"

    # tags
    NC = "nc"
    VOLTHA = 'voltha'
    HEALTH = 'health'
    NCM = "ncm"
    RPC = "rpc"
    RPC_REPLY = "rpc-reply"
    RPC_ERROR = "rpc-error"
    CAPABILITY = "capability"
    CAPABILITIES = "capabilities"
    HELLO = "hello"
    URL = "url"
    NC_FILTER = "nc:filter"
    FILTER = "filter"
    SUBTREE = "subtree"
    XPATH = "xpath"
    OK = "ok"
    SESSION_ID = "session-id"
    MESSAGE_ID = "message-id"
    XMLNS = "xmlns"
    DELIMITER = "]]>]]>"

    NS_MAP = {
        'nc': 'urn:ietf:params:xml:ns:netconf:base:1.0',
        'voltha': 'urn:opencord:params:xml:ns:voltha:voltha',
        'ncm': 'urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring',
        'health': 'urn:opencord:params:xml:ns:voltha:health'
    }
